Android 如何捕获来自活动的通知

Android 如何捕获来自活动的通知,android,Android,我有一项活动。这是应用程序的开始活动。然后我从ActivityA调用服务(ServiceB)。然后ServiceB liten查询一些其他参数,并向标题栏发出通知 mNotificationManager.notify(DataHolder.TITLE_BAR_NOTOFICATION_ID, notification); 我现在想要的是ActivityA,它还可以识别某个通知已调用。并显示有通知 有什么建议吗?我现在想要的是ActivityA,它还可以识别某个通知已调用。并显示有通知 解决

我有一项活动。这是应用程序的开始活动。然后我从ActivityA调用服务(ServiceB)。然后ServiceB liten查询一些其他参数,并向标题栏发出通知

mNotificationManager.notify(DataHolder.TITLE_BAR_NOTOFICATION_ID, notification);
我现在想要的是ActivityA,它还可以识别某个通知已调用。并显示有通知

有什么建议吗?

我现在想要的是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);
    }

}
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");
        }
    }
}
<receiver android:name=".Class2" android:enabled="true">
    <intent-filter>
      <action android:name="org.some.action"></action>
    </intent-filter>
</receiver>
现在,一旦Class2收到广播,他将收到通知。

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);
    }

}
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");
        }
    }
}
<receiver android:name=".Class2" android:enabled="true">
    <intent-filter>
      <action android:name="org.some.action"></action>
    </intent-filter>
</receiver>
别忘了在清单文件中添加Class2作为接收者。

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);
    }

}
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");
        }
    }
}
<receiver android:name=".Class2" android:enabled="true">
    <intent-filter>
      <action android:name="org.some.action"></action>
    </intent-filter>
</receiver>

如何做到这一点?如果你可以链接我的样品,这将是非常伟大的。非常感谢。