web-dev-qa-db-ja.com

logcatでmSecurityInputMethodServiceがnullです

スマートフォンの現在の場所(最後に認識された場所)を表示するAndroidアプリを少し書きました。サンプルコードをコピーして他のいくつかの解決策を試しましたが、毎回同じエラーが発生するようです。私のアプリはボタンで構成されています。ボタンを押すとlog経度と緯度になるはずですが、"mSecurityInputMethodService is null"のみが記録されます。

これがMainActivity.Javaです。

public class MainActivity extends Activity {
int response;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Button button = (Button)findViewById(R.id.button);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            onbutclick();
        }
    });

}
public void onbutclick(){
    LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
    if(ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED){
        Location loc = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
        if(loc != null){
            Log.d("Latitude",Double.toString(loc.getLatitude()));
            Log.d("Longitude",Double.toString(loc.getLongitude()));
        }

    }else{
        ActivityCompat.requestPermissions(this,new String[] {Manifest.permission.ACCESS_FINE_LOCATION},response);
        Intent inte = getIntent();
        finish();
        startActivity(inte);
    }
}

マニフェストファイルでも<uses-permission>を使用しました。 "mSecurityInputMethodService is null"が実際に何を意味するのか説明をいただければ幸いです。

14
Fe Ri

私のHuaweiデバイスでは、以下が役立ちます:

ダイヤル:

*#*#2846579#*#*

非表示のメニューが表示されます。 "Background Setting"-> "Log setting"に移動して、ログレベルを有効にします。

52
Klatschen

Huawei Phonesがlogcatを無効にします。上記の回答を少し改善したものです

ダイヤル:

*#*#2846579#*#*

非表示のメニューが表示されます。 「背景設定」->「ログ設定」に移動して有効にしますログレベル。

特に有効にする:AP LogCharge LogおよびSleep Log

ソース: https://www.xda-developers.com/huawei-phones-disable-logcat-heres-how-to-restore-access/

2
Ed Walpole

キーボードへのアクセス中に同じエラーが発生し、キーボードが表示されませんでした。また、ログをオンにしても効果がありませんでした。 Googleキーボードを使用していて、Huawei Swypeに切り替えて解決しました。

0