2016-10-12 8 views
1

私はトラッキングアプリで作業中です。バックグラウンドでもフォアグラウンドでも動作します。フォアグラウンドではうまく動作しますが、ユーザーがスタックからそれを削除するとクラッシュします。クラッシュしました。なぜなら、アクティビティから私のservice.canにメソッド呼び出しがあったからです。私は長い間このことに固執していますが、解決策を見つけることができません。アプリが死んだときにアクティビティからサービスにメソッドを呼び出す

ここは私がアクティビティから私のサービスに呼び出す方法です。

class TimeDisplayTimerTask extends TimerTask { 
    @Override 
    public void run() { 
     // run on another thread 
     mHandler.post(new Runnable() { 
      @Override 
      public void run() { 
       MyActivity.instance.myfunction(); 
      } 

     }); 
    } 
} 

答えて

1

Activityのインスタンスは、もは​​や存在しないかもしれないので、あなたはServiceからActivity内のメソッドを呼び出すことはできません。

ServiceIntentというブロードキャストを送信し、Activityが聞くことができるようにすることをお勧めします。 Activityがなくなると、何も起こりません。

関連する問題