0

サービスからアクティビティにデータを送信する方法は?

サービスがバックグラウンドから特定のアクティビティを開く必要がある場合、またはこのアクティビティがまだバックグラウンドにない場合は新しいインスタンスを開く必要がある場合 ( kill )。

質問は:

では、このアクティビティを開くにはどうすればよいですか (どのユーザーが電話で行っているのか、代わりにパラメーターを受け取ったのでしょうか?

サービス:

public void sendDataToActivity(int dialog) {
        Intent intent = new Intent(getBaseContext(), MainActivity.class);
        intent .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent .putExtra("dialogToUser", dialog);
        getApplication().startActivity(dialogIntent); 
}

主な活動:

@Override
protected void onResume() {
super.onResume();

   //Get Extras and run NumAlert(operation)
   Bundle extras = getIntent().getExtras();
   if (extras.containsKey("dialogToUser") ) {
   int operation = extras.getInt("dialogToUser");
       NumAlert ( operation );
   }
}

それは私のために働いていません、何が問題なのですか??

4

1 に答える 1

0

サービスからデータを送り返すカスタム BroadcastReceiver を作成します。チュートリアルリンクは次のとおりです。

または、アクティビティからサービスを呼び出したい場合は、バインドされたサービスが必要です。サービスを変数にバインドし、それをアクティビティで使用できるようになります。

于 2013-08-24T21:55:08.273 に答える