简体   繁体   English

Android:无法获取提供程序

[英]Android: Unable to get provider

I am building a demo app with a content provider.我正在使用内容提供者构建一个演示应用程序。 However, this provider cannot be accessed outside the app.但是,无法在应用程序外部访问此提供程序。 I tried to grant the permission mannually, but the app crashes with error message:我尝试手动授予权限,但应用程序崩溃并显示错误消息:

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)

Here is my code:这是我的代码:

//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))
    ...
}

Thanks for any help!谢谢你的帮助!

solved: slice uri need to be prefixed with "content://"已解决:切片 uri 需要以“content://”为前缀

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Android 崩溃 - 无法获取提供程序 - Android crash - Unable to get provider Android Studio无法获取提供商com.google.firebase.provider - Android Studio Unable to get provider com.google.firebase.provider 无法获得提供者 - Unable to get provider 无法获取提供程序:ClassNotFoundException - Unable to get provider : ClassNotFoundException 无法获取提供程序 com.crashlytics.android.CrashlyticsInitProvider - Unable to get provider com.crashlytics.android.CrashlyticsInitProvider 无法在Android设备上使用GPS位置提供程序获取位置 - Unable to get location with gps location provider on android device Android Facebook“无法获取提供者” java.lang.ClassNotFoundException - Android Facebook “Unable to get provider” java.lang.ClassNotFoundException 无法获得提供商com.google.android.gms.measurement.AppMeasurementContentProvider - Unable to get provider com.google.android.gms.measurement.AppMeasurementContentProvider android:内容提供者:服务在凝视时崩溃 - 无法获取提供者 sensordata.collector.SurveyDbProvider - android: content provider : Service crashes on staring - Unable to get provider sensordata.collector.SurveyDbProvider “无法获取提供商com.google.firebase.provider.FirebaseInitProvider”错误路径Android - “Unable to get provider com.google.firebase.provider.FirebaseInitProvider” Error path Android
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM