【问题标题】:Ionic App on Android Marshmallow repeatedly asking for permission, even after granting itAndroid Marshmallow 上的 Ionic App 反复请求权限,即使在授予权限后也是如此
【发布时间】:2016-08-02 15:17:01
【问题描述】:

每当我尝试从我的图库中选择一张图片时,权限窗口就会弹出,询问是否应允许该应用访问我的媒体存储。 允许后一切正常。但是,下次我想从我的图库中选择一张图片时,该应用会再次请求相同的权限。

以下是我的 cordova 相机插件的选项:

image_options = {
    destinationType: Camera.DestinationType.DATA_URL,
    sourceType: Camera.PictureSourceType.PHOTOLIBRARY,
    correctOrientation: true,
    cameraDirection: 0,
    allowEdit: true,
    encodingType: Camera.EncodingType.JPEG
  };

这是(生成的)AndroidManifest.xml

<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="10000" android:versionName="1.0.0" package="com.mycompany.myapp" xmlns:android="http://schemas.android.com/apk/res/android">
<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name" android:supportsRtl="true">
    <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustResize">
        <intent-filter android:label="@string/launcher_name">
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <service android:name="de.appplant.cordova.plugin.background.ForegroundService" />
</application>
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="23" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
</manifest>

我已确保在设置中也允许该应用访问“存储”。

有什么明显的我可能做错了吗?

【问题讨论】:

  • 对于 Andorid 6.0,您必须从用户那里获得运行时许可,仅使它们减速清单是不够的。
  • @Sohail 我知道。而 afaik ionic 应该自己处理。正如我所说的,用户被询问是否要授予权限。问题是应用程序似乎不记得了。
  • @TinoA。如果可能的话,你可以在github上加载项目,这样我们就可以看看问题并进行模拟
  • @Gandhi 抱歉,不可能,因为它是一个企业应用程序;)
  • @TinoA。真的对不起蒂诺。没有代码,我们真的无法解决问题

标签: android cordova ionic-framework android-permissions


【解决方案1】:

经过几天的谷歌搜索和尝试,我终于通过手动将 CAMERA 权限添加到 android 清单来解决问题。 首先,我的印象是完整的清单是在离子构建/运行时创建的。其次有点奇怪,我必须添加相机权限才能获得存储权限才能工作,特别是因为拍照没有问题。

【讨论】:

    猜你喜欢
    • 2021-10-31
    • 2022-01-01
    • 1970-01-01
    • 2017-03-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-20
    • 2015-07-24
    • 1970-01-01
    相关资源
    最近更新 更多