android编程的广播,模拟器可接受,但真机不可接受。
小00封 2017-10-23 06:25:34 1.动态注册
//接受广播
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("android.intent.action.PACKAGE_ADDED");
intentFilter.addAction("android.intent.action.CAMERA_BUTTON");
intentFilter.addAction("android.hardware.action.NEW_PICTURE");
intentFilter.addAction("android.hardware.action.NEW_VIDEO");
intentFilter.addAction("android.hardware.action.NEW_VIDEO");
intentFilter.addAction("android.hardware.action.NEW_VIDEO");
// intentFilter.addDataScheme("package");
try {
intentFilter.addDataType("image/*");
intentFilter.addDataType("video/*");
} catch (IntentFilter.MalformedMimeTypeException e) {
e.printStackTrace();
}
registerReceiver(new MyBroadcast(handler), intentFilter);
2.权限
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.CAMERA" />
3.测试
我以照相机拍照为例
模拟器上,打开app,并打开照相机然后按下拍照按钮,利用handler设置text随便一个值以标识,结果有反应并设置成功。
真机上,重复模拟器上的操作,并无反应。
4.问题
我使用的真机系统为android7.0,是不是高版本后还要设置别的东西才能接受广播?