根据我的阅读,我需要每个浏览器的书签URI:
private final Uri CHROME_URI = Uri.parse("content://com.android.chrome.browser/bookmarks");
private final Uri MOZILLA_URI = Uri.parse("content://org.mozilla.firefox.db.browser/bookmarks");
private final Uri OPERA_URI = ?;
我设法找到了chrome的书签uri,我还没有测试过mozilla的书签uri,但这似乎是它,就歌剧我没有找到任何东西。
对它可能是什么有任何想法?
更新
我正在使用此代码:
private final Uri MOZILLA_URI = Uri.parse("content://org.mozilla.firefox.db.browser/bookmarks");
private final String MOZILLA_PACKAGE = "org.mozilla.firefox";
grantUriPermission(MOZILLA_PACKAGE, MOZILLA_URI, Intent.FLAG_GRANT_READ_URI_PERMISSION);
但我明白了:
java.lang.SecurityException:Permission Denial:读取org.mozilla.firefox.db.BrowserProvider uri content://org.mozilla.firefox.db.browser/bookmarks from pid = 3222,uid = 10094需要org.mozilla .firefox.permissions.BROWSER_PROVIDER或grantUriPermission()
虽然我通过grantUriPermission()请求了许可。
答案 0 :(得分:0)
是的你是对的,它会给Firefox提供SecurityException这个权限,即org.mozilla.firefox.permissions.BROWSER_PROVIDER被声明为具有签名保护级别,并且系统不会因为你的应用程序签名而将此权限授予你的应用程序与Firefox签名不同。