0

根据我的阅读,我需要每个浏览器的书签 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() 的许可。

4

1 回答 1

0

是的,你是对的,它会像 Firefox 的清单一样给予 SecurityException 这个权限,即 org.mozilla.firefox.permissions.BROWSER_PROVIDER 被声明为具有签名保护级别,并且系统不会授予你的应用程序这个权限,因为你的应用程序的签名不同于那个 Firefox 签名。

于 2013-08-30T08:36:21.240 回答