2011-08-03 19 views
1

私がやっているアプリは、バックグラウンドで非同期イベントを受け取ることができます。私がアプリを設計したやり方は、クライアントがそのようなイベントを受け取ると、アクティビティが所有するハンドラにメッセージを送ります。アクティビティはさまざまな方法でメッセージを処理します。 フォアグラウンドにではない)の特定のイベントが到着した場合、私はアクティビティとUIをユーザに提示する必要があります。通話が到着したときのように、他のアプリが現在アクティブであるかどうかにかかわらず、応答または拒否UIはフォアグラウンドになります。 これを行うにはどうすればよいですか?私はアクティビティ、インテント、およびタスクに関するドキュメントを再読み込みしていますが、それがいつも明確であるとは言えません。同様のことをするサンプルコードやチュートリアルも積極的に探していますが、これまでのところ運はありません。あらゆるポインタや参照を歓迎します。フォアグラウンド以外のアクティビティが同じアプリで別のアクティビティを起動する正しい方法は何ですか?

答えて

1

あなたは

startActivity(new Intent(this, YourClass.class), Intent.FLAG_ACTIVITY_NEW_TASK);

編集のような意味:あなたがあなたの活動を作成するときに、ああ、あなたは、あなたが

をすることができ、まだ

`

private IntentFilter mNoticeFilter = new IntentFilter("com.you.yourapp.NEW_NOTICE"); 

private BroadcastReceiver mNoticeReceiver = new BroadcastReceiver() { 

     @Override 
     public void onReceive(Context context, Intent intent) { 
      // Do something! ie launch your activity 
      startActivity(new Intent(this, YourClass.class)); 
     } 
    };` 

を背景のものを持っていません

registerReceiver(mNoticeReceiver, mNoticeFilter); 

unregisterReceiver(mNoticeReceiver);

することを忘れないでくださいはここを参照してください:http://developer.android.com/reference/android/content/BroadcastReceiver.html

関連する問題