私が今欲しいのは、何らかの通知が呼び出されたことを識別するための ActivityA です。そして、通知があることを示します。
- 解決策は、Activity にカスタム ブロードキャストを起動させることです。ActivityA または ActivityB が
onReceive
メソッドでそのブロードキャストを受信すると、通知を表示できます。
Class1 が何らかのタスクを実行しており、タスクが完了したら、他のクラスに通知したいとします。
public class Class1 extends Activity{
public static final String CUSTOM_INTENT = "org.some.action";
@Override
public void onCreate(Bundle bundle) {
//Do some operation.......now once operation is done send Broadcast
to other activities
Intent i = new Intent();
i.setAction(CUSTOM_INTENT);
context.sendBroadcast(i);
}
}
クラス 2 は、ブロードキャストが受信されると通知を受け取ります。
public class Class2 extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("org.some.action")) {
System.out.println("I got Notified");
}
}
}
Class2 をレシーバーとしてマニフェスト ファイルに追加することを忘れないでください。
<receiver android:name=".Class2" android:enabled="true">
<intent-filter>
<action android:name="org.some.action"></action>
</intent-filter>
</receiver>