use*_*196 10 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>
Run Code Online (Sandbox Code Playgroud)
和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());
}
}
Run Code Online (Sandbox Code Playgroud)
chi*_*uki 45
您还需要将数据方案设置为"文件".
<intent-filter>
<action android:name="android.intent.action.MEDIA_MOUNTED" />
<data android:scheme="file" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
Intent javadoc 指定了不同的 action:name 值。使用“android.intent.action.MEDIA_MOUNTED”而不是“android.content.Intent.ACTION_MEDIA_MOUNTED”
| 归档时间: |
|
| 查看次数: |
17702 次 |
| 最近记录: |