Android BroadcastReceiver 收不到任何广播事件

标签 android broadcastreceiver

我创建了一个 BroadcastReceiver 来检测 SDCard 的挂载和卸载 事件,但是,我根本无法接收任何事件: 这是 AndroidManifest.xml:

<receiver android:enabled="true" android:label="SDCardMountReceiver" android:exported="true" android:name="xxx.broadcasts.SDCardBroadcastReceiver">
    <intent-filter>
        <action android:name="android.content.Intent.ACTION_MEDIA_MOUNTED"></action>
        <!-- or <action android:name="android.content.Intent.ACTION_MEDIA_UNMOUNTED" />--></intent-filter>
</receiver>

还有 SDCardMountReceiver 类:

public class SDCardBroadcastReceiver extends BroadcastReceiver {
    public SDCardBroadcastReceiver() {
        super();
        System.err.println("constructor");
    }

    public void onReceive(Context context, Intent intent) {
        Log.d("SDCardBroadCastReceiver", "receive " + intent.getAction());
        System.err.println("jonathan receive " + intent.getAction());

    }
}

最佳答案

您还需要将数据方案设置为"file"。

   <intent-filter>
     <action android:name="android.intent.action.MEDIA_MOUNTED" />
     <data android:scheme="file" /> 
   </intent-filter>

引用:android-developers thread

关于Android BroadcastReceiver 收不到任何广播事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/994746/

相关文章:

java - 在android中用逗号对数字进行分组

Android Facebook SDK : Back-Button woes

android - 如何将广播从一个应用程序发送到另一个应用程序

显示对话框的 Android 广播接收器?

android - BroadcastReceiver 异步 onReceive

android - 哪一个更可取 : Rx-Subject or Android BroadcastReceiver

java - 从 BroadcastReceiver 获取方法来更新 UI

android - 有条件地应用 GMS google-services 插件

android - 如果默认为自动,如何获取 AppCompatDelegate 当前模式

android - adjustResize 向上推 EditText 但不向上推 RecyclerView