我开发了一个应用程序,它使用相机跟踪您单击的图像。直到Marshmallow,照片被应用程序跟踪,但在Nougat使用相同的代码,应用程序无法跟踪我点击的新图片。
我的CameraReceiver类是
public class CameraReceiver extends BroadcastReceiver {
private String pathSplit;
public void onReceive(Context context, Intent intent) {
Cursor cursor = context.getContentResolver().query(intent.getData(),
null, null, null, null);
if (cursor != null) {
cursor.moveToFirst();
String image_path = cursor.getString(cursor.getColumnIndex("_data"));
String MediaType = intent.getAction().equals("android.hardware.action.NEW_VIDEO") ? "VIDEO" : "IMAGE";
FilesObservers.postDataCreateEvent("CREATE", image_path, true,MediaType);
cursor.close();
}
}
public IntentFilter getCameraFilters() {
IntentFilter lsIntentFilter = new IntentFilter();
try {
lsIntentFilter.addDataType("image/*");
} catch (IntentFilter.MalformedMimeTypeException e) {
e.printStackTrace();
}
lsIntentFilter.addAction("com.android.camera.NEW_PICTURE");
lsIntentFilter.addCategory("android.intent.category.DEFAULT");
return lsIntentFilter;
}
}
并在清单中
<receiver android:name="com.sys.observers.CameraReceiver" />
答案 0 :(得分:0)
我开发了一个应用程序,它使用相机跟踪您点击的图像
不,您正在跟踪某些广播的投放情况。没有要求任何相机应用程序发送这些广播。也:
没有要求相机应用让第三方应用知道何时拍摄照片(事实上,这样做是隐私缺陷)
相机应用无需保存第三方应用可以访问的照片
直到Marshmallow,照片被应用程序跟踪
对于您测试的特定相机应用程序,这当然是可能的。
但在Nougat中使用相同的代码,应用程序无法跟踪我点击的新图片
那是因为那些广播are no longer supported。