【问题标题】:Global broadcast or local broadcast with PendingIntent使用 PendingIntent 进行全局广播或本地广播
【发布时间】:2014-01-03 16:21:24
【问题描述】:

我在 IntentService 中运行后台任务。我在通知栏中显示进度(使用 NotificationManager),如果有人单击该通知,我想取消任务。

我通过广播服务成功实现了它。但是,我在想是否可以对 localBroadcast 做同样的事情。

如果我将“registerReceiver”更改为“LocalBroadcastManager.getInstance(this).registerReceiver”,则代码不起作用。你能告诉我为什么我不能将 localbroadcast 与 pendingintent 一起使用吗?

谢谢,

目前我的代码是:

boolean isCancelled;
Context context;

NotificationManager mNotifyManager;
NotificationCompat.Builder mBuilder;
int mId = 2;
protected void onHandleIntent(Intent intent) {
    isCancelled = false;
    context = getApplicationContext();
    IntentFilter filter = new IntentFilter();
    filter.addAction("com.migrationdesk.mylibman.MyServiceClass.STOP");
    registerReceiver(receiver, filter);
    getNotification();
    mainTask(); // THIS IS SOME BACKGROUND TASK
}

private final BroadcastReceiver receiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
                if(action.equals("com.migrationdesk.mylibman.MyServiceClass.STOP")){
                    isCancelled = true;
                }

    }
};

protected void getNotification() {
    Intent newintent = new Intent();
    newintent.setAction("com.migrationdesk.mylibman.MyServiceClass.STOP");
    PendingIntent pIntent = PendingIntent.getBroadcast(context, 0, newintent, 0);
    mNotifyManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
    mBuilder = new NotificationCompat.Builder(context);
    mBuilder.setContentTitle("Cover Download")
                .setContentText("In progress")
                .setContentIntent(pIntent)
                .setSmallIcon(R.drawable.ic_launcher);
}

【问题讨论】:

    标签: android broadcast android-pendingintent localbroadcastmanager


    【解决方案1】:

    但是,我在想是否可以对 localBroadcast 做同样的事情。

    这是不可能的。 PendingIntent 仅适用于常规广播,并且管理通知栏的代码无论如何都不在您的进程中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-21
      • 2010-10-10
      • 2013-05-15
      • 2019-03-08
      • 2016-07-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多