Сбой приложения Android при вызове getSystemService (LOCATION_SERVICE) - PullRequest
0 голосов
/ 07 марта 2011

Моя проблема похожа на Android, запускающее приложение после его поиска

Я звоню

locationHelper.setLocationManager(this);  // pass the appcontext to my helper method

из моей основной деятельности onCreate().Мой класс LocationHelper выглядит следующим образом:

public class LocationHelper {

  private LocationManager locationManager;
    [...]
    public void setLocationManager(Context context){
      locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
    }
    [...]
}

Когда я оставляю вызов setLocationManager(), приложение работает нормально, если нет, то вылетает и оставляет следующее в стеке:

Thread [<1> main] (Suspended (exception RuntimeException))  
    ActivityThread.performLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 1647    
    ActivityThread.handleLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 1663 
    ActivityThread.access$1500(ActivityThread, ActivityThread$ActivityClientRecord, Intent) line: 117   
    ActivityThread$H.handleMessage(Message) line: 931   
    ActivityThread$H(Handler).dispatchMessage(Message) line: 99 
    Looper.loop() line: 123 
    ActivityThread.main(String[]) line: 3683    
    Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]  
    Method.invoke(Object, Object...) line: 507  
    ZygoteInit$MethodAndArgsCaller.run() line: 839  
    ZygoteInit.main(String[]) line: 597 
    NativeStart.main(String[]) line: not available [native method]

Может ли кто-нибудь помочь мне интерпретировать эти сообщения, поскольку я нигде не нашел документации по отладке приложений для Android.

Ответы [ 2 ]

0 голосов
/ 13 января 2012

Забудьте все, используйте этот простой и хороший рабочий код и получайте удовольствие:)

LocationManager locationManager=(LocationManager)getSystemService(Context.LOCATION_SERVICE);

Не используйте

context.getSystemService(Context.LOCATION_SERVICE)

или

 this.getSystemService(Context.LOCATION_SERVICE) 
0 голосов
/ 07 марта 2011

Попробуйте поставить context.getSystemService (Context.LOCATION_SERVICE); непосредственно в метод onCreate. Это работает там?

Вы запрашивали разрешения в файле Manifest.xml для доступа к местоположениям?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...