【问题标题】:Camera intent filter not working for nougat相机意图过滤器不适用于牛轧糖
【发布时间】:2018-01-17 11:45:02
【问题描述】:

我开发了一个应用程序,它可以跟踪您使用相机点击的图像。直到 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" />

【问题讨论】:

  • 从 API 24 开始,它已停止支持这些广播。但是您可以使用 JobInfo 和 JobParameters 来替代它。 developer.android.com/topic/performance/….
  • 嗨@nTri,你能根据你提供的链接指导我的代码应该如何,我已经通过但我无法理解。谢谢
  • 目标 API 版本 23 正常工作
  • 嗨@VishalBhut,我需要让它适用于牛轧糖,所以我的目标是API 24,任何示例代码都会有帮助。
  • 嗨@nTri,你能说一下如何使用JobInfo.Builder.addTriggerContentUri(JobInfo.TriggerContentUri)

标签: android android-intent android-camera


【解决方案1】:

我开发了一个应用程序,它可以跟踪您使用相机点击的图像

不,您正在跟踪某些广播的传送。这些广播不需要由任何相机应用程序发送。另外:

  • 相机应用不需要让第三方应用知道什么时候拍照(事实上,这样做是一个隐私漏洞)

  • 相机应用无需将照片保存到第三方应用可以访问的地方

直到 Marshmallow 照片被应用程序跟踪

对于您测试的特定相机应用程序,这当然是可能的。

但是在 Nougat 中使用相同的代码,应用程序无法跟踪我点击的新图片

那是因为那些广播are no longer supported

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-08
    • 1970-01-01
    • 2016-12-30
    • 1970-01-01
    • 2017-07-20
    • 2017-07-22
    • 1970-01-01
    相关资源
    最近更新 更多