如何启动一个活动和两个服务通知点击



当用户点击通知时,我想启动一个Activity和两个Intent Service。

有可能吗?如果有,有没有人能给我一些建议?

假设我无法控制Activity。活动属于第三方应用。

请不要告诉我从你的Activity启动intent服务。我知道这个。

按照步骤操作希望对您有所帮助

1)创建BroadCastReceiver

public class MyBroadcastReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        // Start Activity
        // Start Services
    }
}

2)在通知时点击广播。

NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
        Intent intent = new Intent(context, MyBroadcastReceiver.class);
        PendingIntent contentIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
        Notification notification = new Notification(icon, ticker, when);
        notification.setLatestEventInfo(mSmartAndroidActivity, title, message, contentIntent);
        notification.flags = Notification.FLAG_AUTO_CANCEL;
        notificationManager.notify(0, notification);

PendingIntent.getBroadcast代替PendingIntent.getActivity

3) BroadcastReceiver的onReceive()方法

->调用第三方活动

-> Start services

Biraj给出的答案也可以。

但是你必须在你的manifest文件中声明BroadcastReceiver,以及你从BroadcastReceiver开始的所有活动和服务。

所以我没有选择上述方式。

我是如何实现的?

我已经启动了一个Intent服务,从那里我开始活动并向服务器发出同步请求。通过这种方式,我不必在清单文件中声明BroadcastReceiver。

我相信写更少的代码,所以我选择了上面的Intent Service方式

相关内容

  • 没有找到相关文章

最新更新