【问题标题】:Android ContentResolver Unknown URL but ADB Shell command works fineAndroid ContentResolver 未知 URL,但 ADB Shell 命令工作正常
【发布时间】:2022-10-15 01:33:40
【问题描述】:

我正在尝试将应用程序中的插入命令运行到另一个应用程序。我正在使用我的 ADB Shell 命令:

adb shell content insert --uri content://com.***.***/device_info --bind store_id:s:12345

将其转换为 Java:

Uri contentUri = Uri.parse("content://com.***.***/device_info");
ContentValues contentValues = new ContentValues();
contentValues.put("store_id", storeIdString);
mContext.getContentResolver().insert(contentUri, contentValues);

但是,当我运行该 Java 代码时,出现以下错误:

Unknown URL content://com.***.***/device_info

但是,如果我运行该 ADB Shell 命令,我不会遇到任何问题。如果我尝试在代码中查询相同的 URI,则会发生同样的问题,而通过 ADB shell 命令的相同查询工作得很好

【问题讨论】:

  • to another app that has a content resolver. 你的意思是:to another app that has a content provider.

标签: android adb android-contentresolver


【解决方案1】:

发现了问题。

从 Android SDK 级别 30 开始,内容提供程序已通过包可见性受到限制。一旦我将我的应用程序的 SDK 级别降级到 28 级,它就开始工作了,但这引入了它自己的一系列问题。

无论如何,我建议尝试some of these suggested solutions

【讨论】:

    猜你喜欢
    • 2020-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-26
    • 1970-01-01
    • 1970-01-01
    • 2018-06-30
    • 2014-12-05
    相关资源
    最近更新 更多