【问题标题】:Difference between "Bookmark History" permission tag“书签历史”权限标签之间的区别
【发布时间】:2018-08-01 01:40:09
【问题描述】:

下面两个与浏览器书签历史相关的Android权限有什么区别?

<uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/> -->
<uses-permission android:name="android.permission.READ_HISTORY_BOOKMARKS" />

我的应用只适用于第一个,而第二个则崩溃。

SDK 版本:

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="18" />

我使用第二个权限标签时的错误日志:

E/AndroidRuntime: FATAL EXCEPTION: main
              java.lang.SecurityException: Permission Denial: reading com.android.browser.provider.BrowserProvider2 uri content://browser/bookmarks from pid=5063, uid=10050 requires com.android.browser.permission.READ_HISTORY_BOOKMARKS, or grantUriPermission()
                  at android.os.Parcel.readException(Parcel.java:1431)
                  at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:185)
                  at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:137)
                  at android.content.ContentProviderProxy.query(ContentProviderNative.java:385)
                  at android.content.ContentResolver.query(ContentResolver.java:414)
                  at android.content.ContentResolver.query(ContentResolver.java:357)
                  at course.labs.permissionslab.BookmarksActivity.loadBookmarks(BookmarksActivity.java:56)
                  at course.labs.permissionslab.BookmarksActivity.access$000(BookmarksActivity.java:14)
                  at course.labs.permissionslab.BookmarksActivity$1.onClick(BookmarksActivity.java:32)
                  at android.view.View.performClick(View.java:4240)
                  at android.view.View$PerformClick.run(View.java:17721)
                  at android.os.Handler.handleCallback(Handler.java:730)
                  at android.os.Handler.dispatchMessage(Handler.java:92)
                  at android.os.Looper.loop(Looper.java:137)
                  at android.app.ActivityThread.main(ActivityThread.java:5103)
                  at java.lang.reflect.Method.invokeNative(Native Method)
                  at java.lang.reflect.Method.invoke(Method.java:525)
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
                  at dalvik.system.NativeStart.main(Native Method)

Android 版本: 4.3.1

谢谢!

【问题讨论】:

  • 显示错误日志
  • 您是否在 Android 6.0 Marshmallow 上运行该应用程序?

标签: android user-permissions


【解决方案1】:

此版本删除了对全局书签的支持。现在删除了 android.provider.Browser.getAllBookmarks()android.provider.Browser.saveBookmark() 方法。同样,已删除 READ_HISTORY_BOOKMARKS 和 WRITE_HISTORY_BOOKMARKS 权限。如果您的应用面向 Android 6.0(API 级别 23)或更高版本,请勿从全局提供商访问书签或使用书签权限。相反,您的应用应在内部存储书签数据。

https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-bookmark-browser

【讨论】:

    猜你喜欢
    • 2020-09-28
    • 2013-05-30
    • 1970-01-01
    • 1970-01-01
    • 2012-03-05
    • 2010-09-24
    • 2011-04-30
    • 1970-01-01
    • 2011-07-19
    相关资源
    最近更新 更多