【问题标题】:Not receiving broadcast form IntentSender未收到广播形式的 IntentSender
【发布时间】:2016-03-08 00:52:25
【问题描述】:

当用户在选择器中选择What is the purpose of IntentSender?Get IntentSender object for createChooser method in Android 时,我正在尝试获取广播。

我在两个帖子中都创建了选择器作为描述器:

Intent intent = new Intent(Intent.ACTION_SEND)
    .putExtra(Intent.EXTRA_TEXT, "This is my text to send.")
    .setType("text/plain");
Intent receiver = new Intent(this, BroadcastTest.class)
    .putExtra("test", "test");
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, receiver, PendingIntent.FLAG_UPDATE_CURRENT);
Intent chooser = Intent.createChooser(intent, "test", pendingIntent.getIntentSender());
startActivity(chooser);

并在我的 AndroidManifest 中注册我的 BroadcastReceiver:

<receiver
    android:name="com.migore.intentsender.BroadcastTest"
    android:enabled="true"
    android:exported="true">
    <intent-filter android:priority="1">
        <action android:name="com.migore.intentsender.intent.TEST" />
    </intent-filter>
</receiver>

但是,我的接收器从未被调用过。我已经尝试在代码中注册接收器,但它也不起作用。我错过了什么?

【问题讨论】:

  • 尝试从清单中删除意图过滤器

标签: android android-intent broadcastreceiver android-pendingintent


【解决方案1】:

你好使用下面的代码

<receiver
    android:name="com.migore.intentsender.BroadcastTest"
    android:enabled="true"
    android:exported="true">
    <intent-filter>
            <action droid:name="android.intent.extra.CHOSEN_COMPONENT" />
   </intent-filter>
</receiver>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多