2016-07-26 43 views
5

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".

+5

Czy testujesz na urządzeniu Huawei? – Klatschen

+0

@Klatschen Tak, jestem. –

+1

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) –

Odpowiedz

21

dla mojego urządzenia Huawei dodaje pomaga:

wybierania:

*#*#2846579#*#* 

i ukryte menu jest wyświetlany. Przejdź do: "Ustawienia tła" -> "Ustawienie rejestru" i włącz poziomy rejestrów.

+0

Stary, naprawdę uratowałeś mi wiele bólu –

+0

Dziękuję człowieku! Miałem ten sam problem, teraz rozwiązany –