【问题标题】:Unresolved class 'FileProvider'未解决的类“FileProvider”
【发布时间】:2019-07-21 16:36:16
【问题描述】:

我正在尝试在安卓设备上拍照并关注this tutorial

下面的代码在android.support.v4.content.FileProvider 上给我一个错误。 Android 工作室说 Unresolved class 'FileProvider'

我有以下 AndroidManifest.xml 文件:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.camera">

<uses-permission android:name="android.permission.CAMERA" />

<application
    android:label="@string/app_name">

    <activity android:name=".LandingPageActivity" />

    <provider
        android:name="android.support.v4.content.FileProvider"
        android:authorities="${applicationId}.provider"
        android:exported="false"
        android:grantUriPermissions="true">
        <meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"
            android:resource="@xml/provider_paths" />
    </provider>

</application>

</manifest>

我已将implementation 'com.android.support:support-v4:28.0.0' 添加到我的build.gradle 文件中。

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.example.camera"
        minSdkVersion 15
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.1.0-alpha02'
    ...others
    implementation 'com.android.support:support-v4:28.0.0'
}

apply plugin: 'com.google.gms.google-services'

我试过this solution,但没有成功。

【问题讨论】:

  • 由于您使用的是 androidx 依赖项,因此不应使用低于 android x 的任何内容,例如 support-v4:28。使用这个:实现 'androidx.legacy:legacy-support-core-utils:1.0.0' 代替。

标签: java android android-fileprovider android-9.0-pie


【解决方案1】:

您正在使用AndroidX依赖项(例如您的androidx.appcompat依赖项),因此您需要使用AndroidX FileProvider,它的包名称为androidx.core.content.FileProvider

<provider
    android:name="androidx.core.content.FileProvider"
    android:authorities="${applicationId}.provider"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/provider_paths" />
</provider>

【讨论】:

    【解决方案2】:
    <provider
                android:name="androidx.core.content.FileProvider"
                android:authorities="${applicationId}.fileprovider"
                android:exported="false"
                android:grantUriPermissions="true">
    
          <meta-data
                    android:name="android.support.FILE_PROVIDER_PATHS"
                    android:resource="@xml/provider_paths" />
    
    </provider>
    

    【讨论】:

      猜你喜欢
      • 2021-11-09
      • 2019-09-23
      • 1970-01-01
      • 1970-01-01
      • 2018-03-06
      • 2021-06-29
      • 2017-05-27
      • 2022-10-06
      • 1970-01-01
      相关资源
      最近更新 更多