Android的IntentSender,android – 执行createChooser(context,intent,IntentSender)后不调用BroadcastReceiver...

我想在我用createChooser()对话框呈现他之后检测用户选择的应用程序.所以我创建了我的BroadcastReceiver子类,如下所示:

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

import android.util.Log;

public class ShareBroadcastReceiver extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

Log.d("INFORMATION", "Received intent after selection: "+intent.getExtras().toString());

}

}

我还将我的接收器添加到我的android清单文件中:

...

...

...

这是调用createChooser对话框的代码:

Intent sendIntent = new Intent(android.content.Intent.ACTION_SEND);

sendIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

sendIntent.setType("image/png");

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP_MR1) {

Log.d("INFORMATION", "The current android version allow us to know what app is chosen by the user.");

Intent receiverIntent = new Intent(this,ShareBroadcastReceiver.class);

PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, receiverIntent, PendingIntent.FLAG_CANCEL_CURRENT);

sendIntent = Intent.createChooser(sendIntent,"Share via...", pendingIntent.getIntentSender());

}

startActivity(sendIntent);

即使这是一个显式的PendingIntent,因为我直接使用ShareBroadcastReceiver类名而没有任何内联过滤器,我的广播接收器在用户点击选择器对话框后没有立即回调,我做错了什么?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值