スマートフォンの現在の場所(最後に認識された場所)を表示する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"
が実際に何を意味するのか説明をいただければ幸いです。
私のHuaweiデバイスでは、以下が役立ちます:
ダイヤル:
*#*#2846579#*#*
非表示のメニューが表示されます。 "Background Setting"-> "Log setting"に移動して、ログレベルを有効にします。
Huawei Phonesがlogcatを無効にします。上記の回答を少し改善したものです
ダイヤル:
*#*#2846579#*#*
非表示のメニューが表示されます。 「背景設定」->「ログ設定」に移動して有効にしますログレベル。
特に有効にする:AP Log、Charge LogおよびSleep Log。
ソース: https://www.xda-developers.com/huawei-phones-disable-logcat-heres-how-to-restore-access/
キーボードへのアクセス中に同じエラーが発生し、キーボードが表示されませんでした。また、ログをオンにしても効果がありませんでした。 Googleキーボードを使用していて、Huawei Swypeに切り替えて解決しました。