首次访问启动应用程序中的存储问题

时间:2019-06-03 23:22:36

标签: android

当我第一次运行我的应用程序时,我需要先关闭存储,然后再在Android手机上的设置中重新打开,否则我无法单击带有已保存图片的列表视图。我曾尝试添加摄像头的权限,但随后它立即崩溃。

我不知道为什么会这样,但这是我的android清单:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET" />

运行时权限

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){
        // start runtime permission
        int ALL_PERMISSIONS = 101;
        String hasLocation = (Manifest.permission.ACCESS_FINE_LOCATION);

        String hasStorage = (Manifest.permission.READ_EXTERNAL_STORAGE);


        final String[] permissions = new String[]{hasLocation, hasStorage};

        ActivityCompat.requestPermissions(this, permissions, ALL_PERMISSIONS);

1 个答案:

答案 0 :(得分:1)

从Android 6.0开始,Manifest权限系统不再用于使用targetSdk 23或更高版本构建的应用程序,因此您需要实现运行时权限。

  

如果设备运行的是Android 6.0(API级别23)或更高版本,并且应用程序的targetSdkVersion为23或更高版本,则在安装时不会通知用户任何应用程序权限。您的应用程序必须要求用户在运行时授予危险权限。

https://developer.android.com/guide/topics/permissions/overview