CarrierConfig 配置/书签客制化 出现权限错误

在客制化Bookmarks 书签时出现如下错误:

01-01 12:39:44.147  5450  5464 E DatabaseUtils: Writing exception to parcel

01-01 12:39:44.147  5450  5464 E DatabaseUtils: java.lang.SecurityException: Neither user 10068 nor current process has android.permission.READ_PHONE_STATE.

01-01 12:39:44.147  5450  5464 E DatabaseUtils:        at android.os.Parcel.createException(Parcel.java:1950)

01-01 12:39:44.147  5450  5464 E DatabaseUtils:        at android.os.Parcel.readException(Parcel.java:1918)

01-01 12:39:44.147  5450  5464 E DatabaseUtils:        at android.os.Parcel.readException(Parcel.java:1868)

01-01 12:39:44.147  5450  5464 E DatabaseUtils:        at com.android.internal.telephony.ICarrierConfigLoader$Stub$Proxy.getConfigForSubId(ICarrierConfigLoader.java:123)

01-01 12:39:44.147  5450  5464 E DatabaseUtils:        at android.telephony.CarrierConfigManager.getConfigForSubId(CarrierConfigManager.java:2756)

01-01 12:39:44.147  5450  5464 E DatabaseUtils:        at com.android.providers.partnerbookmarks.PartnerBookmarksProvider$DatabaseHelper.prepareForConfiguration(PartnerBookmarksProvider.java:186)

01-01 12:39:44.147  5450  5464 E DatabaseUtils:        at com.android.providers.partnerbookmarks.PartnerBookmarksProvider.query(PartnerBookmarksProvider.java:455)

01-01 12:39:44.147  5450  5464 E DatabaseUtils:        at android.content.ContentProvider.query(ContentProvider.java:1060)

01-01 12:39:44.147  5450  5464 E DatabaseUtils:        at android.content.ContentProvider.query(ContentProvider.java:1152)

01-01 12:39:44.147  5450  5464 E DatabaseUtils:        at android.content.ContentProvider$Transport.query(ContentProvider.java:241)

01-01 12:39:44.147  5450  5464 E DatabaseUtils:        at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:102)

01-01 12:39:44.147  5450  5464 E DatabaseUtils:        at android.os.Binder.execTransact(Binder.java:731)

01-01 12:39:44.151  539  539 I ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay retrieved: 0

--------- beginning of crash

01-01 12:39:44.158  5244  5269 E AndroidRuntime: FATAL EXCEPTION: CrAsyncTask #1

01-01 12:39:44.158  5244  5269 E AndroidRuntime: Process: com.android.chrome, PID: 5244

01-01 12:39:44.158  5244  5269 E AndroidRuntime: java.lang.RuntimeException: An error occurred while executing doInBackground()

01-01 12:39:44.158  5244  5269 E AndroidRuntime:        at aCu.done(SourceFile:15)

01-01 12:39:44.158  5244  5269 E AndroidRuntime:        at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)

01-01 12:39:44.158  5244  5269 E AndroidRuntime:        at java.util.concurrent.FutureTask.setException(FutureTask.java:252)

01-01 12:39:44.158  5244  5269 E AndroidRuntime:        at java.util.concurrent.FutureTask.run(FutureTask.java:271)

01-01 12:39:44.158  5244  5269 E AndroidRuntime:        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)

01-01 12:39:44.158  5244  5269 E AndroidRuntime:        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)

01-01 12:39:44.158  5244  5269 E AndroidRuntime:        at java.lang.Thread.run(Thread.java:764)

01-01 12:39:44.158  5244  5269 E AndroidRuntime: Caused by: java.lang.SecurityException: Neither user 10068 nor current process has android.permission.READ_PHONE_STATE.

01-01 12:39:44.158  5244  5269 E AndroidRuntime:        at android.os.Parcel.createException(Parcel.java:1950)

01-01 12:39:44.158  5244  5269 E AndroidRuntime:        at android.os.Parcel.readException(Parcel.java:1918)

01-01 12:39:44.158  5244  5269 E AndroidRuntime:        at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:183)

01-01 12:39:44.158  5244  5269 E AndroidRuntime:        at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135)

01-01 12:39:44.158  5244  5269 E AndroidRuntime:        at android.content.ContentProviderProxy.query(ContentProviderNative.java:418)

01-01 12:39:44.158  5244  5269 E AndroidRuntime:        at android.content.ContentResolver.query(ContentResolver.java:804)

01-01 12:39:44.158  5244  5269 E AndroidRuntime:        at android.content.ContentResolver.query(ContentResolver.java:753)

01-01 12:39:44.158  5244  5269 E AndroidRuntime:        at android.content.ContentResolver.query(ContentResolver.java:711)

01-01 12:39:44.158  5244  5269 E AndroidRuntime:        at bvL.b(SourceFile:2)

01-01 12:39:44.158  5244  5269 E AndroidRuntime:        at org.chromium.chrome.browser.AppHooks.u(SourceFile:39)

01-01 12:39:44.158  5244  5269 E AndroidRuntime:        at aEw.u(SourceFile:72)

01-01 12:39:44.158  5244  5269 E AndroidRuntime:        at bvO.d(SourceFile:8)

01-01 12:39:44.158  5244  5269 E AndroidRuntime:        at bvO.a(SourceFile:82)

01-01 12:39:44.158  5244  5269 E AndroidRuntime:        at aCt.call(SourceFile:7)

01-01 12:39:44.158  5244  5269 E AndroidRuntime:        at java.util.concurrent.FutureTask.run(FutureTask.java:266)

01-01 12:39:44.158  5244  5269 E AndroidRuntime:        ... 3 more

需要在AndroidManifest中配置权限:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.providers.partnerbookmarks">

+    <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
+    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

<!-- We add an application tag here just to indicate the authorities -->
<application>
        <provider android:name="PartnerBookmarksProvider"
android:authorities="com.android.partnerbookmarks"
android:exported="true" />
    </application>
</manifest>

此外,出现的SecurityException问题,还需要在Android.mk中进行平台签名:

LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

+LOCAL_CERTIFICATE := platform

LOCAL_STATIC_JAVA_LIBRARIES := android-common

LOCAL_SRC_FILES := $(call all-java-files-under, src)

LOCAL_PACKAGE_NAME := PartnerBookmarksProvider

LOCAL_SDK_VERSION := current

LOCAL_PROGUARD_FLAG_FILES := proguard.flags

include $(BUILD_PACKAGE)

# additionally, build tests in sub-folders in a separate .apk

include $(call all-makefiles-under,$(LOCAL_PATH))

发布了31 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/u012824529/article/details/104265714