2016-11-04 2 views
0

デバイスにインストールされている別のアプリケーションでサービスを開始しようとしています。 STARTSERVICEjava.lang.NullPointerException IntentService

public void notConnected(){ 
     Log.i(TAG,"no connection... reconnecting."); 
     Intent reset = new Intent("com.famoco.intent.action.TOGGLE_DATA"); 
     Log.i(TAG,"calling " + reset.getAction()); 
     if(reset.getAction().equals("com.famoco.intent.action.TOGGLE_DATA")) 
     { 
      startService(reset); 
     } 
     else 
     { 
      Log.i(TAG,"couldn't start service"); 
     } 
} 

を使用したとき、私はNullPointerExceptionが取得し、これは

E/AndroidRuntime: FATAL EXCEPTION: IntentService[MyAppCommService] 
       Process: com.myapppackage.MyApp, PID: 8583 
       java.lang.NullPointerException 
        at android.content.ContextWrapper.startService(ContextWrapper.java:494) 
        at com.myapppackage.MyApplocation.activity.MyAppActivity.notConnected(MyAppActivity.java:591) 
        at com.myapppackage.MyApplocation.api.MyAppApi.submitClock(MyAppApi.java:228) 
        at com.myapppackage.MyApplocation.service.MyAppCommService.submitTags(MyAppCommService.java:52) 
        at com.myapppackage.MyApplocation.service.MyAppCommService.onHandleIntent(MyAppCommService.java:98) 
        at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65) 
        at android.os.Handler.dispatchMessage(Handler.java:110) 
        at android.os.Looper.loop(Looper.java:193) 
        at android.os.HandlerThread.run(HandlerThread.java:61) 

は私のコンテキストがnullを返し、私はのonCreateでコンテキストを取得し、myContext.startserviceを呼び出すことによってそれを修正判明エラーログです。

+0

を呼び出しますか? – Skullper

+0

どのようなコードが必要ですか? – Rodin10

+0

私は分かりません。あなたのサービスを次のように指定する必要があるかもしれません: 'startService(new Intent(this、MyService.class));' – Skullper

答えて

0

onCreate()にコンテキストを返すことによって、それを修正して、あなたはより多くのコードを共有することができcontext.startService()

0

あなたは新しいIntentを開始しています。 Googleの例を見ると、間違った方法を使って起動するように見えます。

- you use: 
startService(reset); 

- try this one: 
startActivity(intent); 

ただし、アクティビティが開始されます。そして、あなたはサービスをしたい。私はあなたがその他のアプリの開発者でない限り、を行うことはできないと思っています。一般的に、Android Appsはお互いにアクセスしてコード&をコードしていません。