Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在哪里可以找到有关android特定权限的更多信息_Android_Android Permissions - Fatal编程技术网

在哪里可以找到有关android特定权限的更多信息

在哪里可以找到有关android特定权限的更多信息,android,android-permissions,Android,Android Permissions,我需要从minSdkVersion=“19”升级旧的android应用程序,因此我需要处理所有权限 在清单中,它需要一些危险的权限。 e、 g: 如何在代码中找到需要这些危险权限的地方?是否有依赖于每个权限的函数列表 关于MOUNT\u UNMOUNT\u文件系统-在哪里可以找到它是危险的还是正常的 在回答具体问题之前,我想说,如果你的应用程序被普通用户使用(即从Google play或其他商店下载),那么列出这么多权限可能会吓跑用户。 从这个问题上看,您似乎继承了其他人的代码,其中一些权限

我需要从minSdkVersion=“19”升级旧的android应用程序,因此我需要处理所有权限

在清单中,它需要一些危险的权限。 e、 g:


  • 如何在代码中找到需要这些危险权限的地方?是否有依赖于每个权限的函数列表


  • 关于
    MOUNT\u UNMOUNT\u文件系统
    -在哪里可以找到它是危险的还是正常的


  • 在回答具体问题之前,我想说,如果你的应用程序被普通用户使用(即从Google play或其他商店下载),那么列出这么多权限可能会吓跑用户。 从这个问题上看,您似乎继承了其他人的代码,其中一些权限甚至不需要

    这里需要注意的另一个重要问题是第三方应用程序(例如,从谷歌play store下载的应用程序)和手机制造商应用程序(购买手机时安装在手机上的大多数应用程序)之间的区别

    制造商应用程序可以使用第三方无法使用的权限

    关于你的问题:

  • 我想不起来有一个完整的功能列表,每个功能都需要许可。也许其他人可以在这里启发我们:) 针对安卓M及以上版本的代码应使用ContextCompat.checkSelfPermission(Context,String)等函数,通过检查是否授予权限来包装任何“危险”行为,以避免运行时SecurityExceptions。 但在旧代码中发现“危险”行为几乎是不可能的,主要是因为Android操作系统与开发人员达成的协议是“您只需在清单中请求这些权限,我将确保不会引发运行时安全异常”。 恐怕这里需要人工搜索

  • 下面是Android官方文档中所有可用权限的完整列表-

  • 请注意,对于第三方应用程序,MOUNT_UNMOUNT_FILESYSTEM权限将被忽略,因此(除非您为三星或小米工作),您可以从清单中安全地删除此权限

  • 另外请注意,如果您请求精细位置权限,则无需同时请求粗略位置权限

  • 我为
    MOUNT\u UNMOUNT\u FILESYSTEMS
    中列出的权限添加了“dangrous”或“normal”注释,除非您正在为手机制造商编写应用程序,否则无法同时使用
    <uses-permission android:name="android.permission.BLUETOOTH" /> <!-- normal -->
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <!-- normal -->
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <!-- normal -->
    
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- dangerous -->
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <!-- ??? -->
    <uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- normal -->
    <uses-permission android:name="android.permission.INTERNET" /> <!-- normal -->
    <uses-permission android:name="android.permission.VIBRATE" /> <!-- normal -->
    <uses-permission android:name="android.permission.CAMERA" /> <!-- dangerous -->
    
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- dangerous -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- dangerous -->
    
    <android:uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- dangerous -->
    <android:uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"  android:maxSdkVersion="18" /> <!-- dangerous -->