如何从活动中捕获通知

时间:2012-06-08 09:00:41

标签: android

我有一个活动(ActivityA)。这是应用程序的启动活动。然后我从ActivityA调用服务(ServiceB)。然后ServiceB点亮了一些其他参数并向标题栏发出通知。

mNotificationManager.notify(DataHolder.TITLE_BAR_NOTOFICATION_ID, notification);

我现在想要的是ActivityA还要识别某些通知已经调用。并显示有通知。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我现在想要的是ActivityA还要识别某些通知已经调用。并显示有通知。

  • 解决方案是让您的活动触发自定义广播,当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);
    }

}

现在,Class2将在收到广播后收到通知。

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>