Napisałem małą aplikację android, która powinna wyświetlać bieżącą lokalizację (ostatnia znana lokalizacja) smartfona. Chociaż skopiowałem przykładowy kod i wypróbowałem kilka innych rozwiązań, wydaje się, że za każdym razem ma ten sam błąd. Moja aplikacja składa się z przycisku. Naciśnięcie przycisku powinno oznaczać długość i szerokość geograficzną, ale tylko dzienniki .mSecurityInputMethodService ma wartość null w logcat
Oto 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);
}
}
użyłem również <uses-permission>
w pliku manifestu. Byłbym wdzięczny za wyjaśnienie, co naprawdę oznacza "mSecurityInputMethodService is null"
.
Czy testujesz na urządzeniu Huawei? – Klatschen
@Klatschen Tak, jestem. –
Mają ten sam problem, Huawei Honor 7, Android 6.0. Ponieważ jest to komunikat dziennika INFO, nie musisz się martwić. Domyślam się, że jest to wewnętrzna wiadomość logiczna Huawei. (Czy mogę to potwierdzić, ponieważ jest to dość denerwujące) –