[英]Android: Unable to get provider
我正在使用内容提供者构建一个演示应用程序。 但是,无法在应用程序外部访问此提供程序。 我尝试手动授予权限,但应用程序崩溃并显示错误消息:
java.lang.NullPointerException: Attempt to read from field 'java.lang.String android.content.pm.PackageItemInfo.packageName' on a null object reference
at android.os.Parcel.createExceptionOrNull(Parcel.java:2379)
这是我的代码:
//AndroidManifest.xml
<provider
android:authorities="com.coffeeshop.android.slicesbasiccodelab"
android:name="com.coffeeshop.android.slicesbasiccodelab.TemperatureSliceProvider"
android:grantUriPermissions="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.app.slice.category.SLICE" />
</intent-filter>
</provider>
// MainActivity.kt
// package com.coffeeshop.android.slicesbasiccodelab
...
// SLICE_VIEWER_PKG = "com.example.mysliceviewer", this is the package name for another app
// SLICE_URI = "com.coffeeshop.android.slicesbasiccodelab"
// somewhere when onResume() is finished
SliceManager.getInstance(this)
.grantSlicePermission(SLICE_VIEWER_PKG, Uri.parse(SLICE_URI))
...
}
谢谢你的帮助!
已解决:切片 uri 需要以“content://”为前缀
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.