【问题标题】:Android permission issue安卓权限问题
【发布时间】:2016-07-18 16:24:34
【问题描述】:

此代码在我的手机上有效。但在我朋友的手机上无效。我也有权限。我收到此错误;

用户 10109 和当前进程都没有 android.permission.READ_PHONE_STATE。

权限;

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

这是我的代码;

TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
    IMEI= telephonyManager.getDeviceId();

【问题讨论】:

    标签: android android-manifest android-permissions android-security android-securityexception


    【解决方案1】:

    这可能是因为您的朋友在 Android 6.0(API 级别 23)上运行。您需要在运行时添加权限以及Manifest 中的权限。

    从 Android 6.0(API 级别 23)开始,用户在应用运行时授予应用权限,而不是在安装应用时。这种方法简化了应用程序安装过程,因为用户在安装或更新应用程序时不需要授予权限。它还使用户可以更好地控制应用程序的功能;例如,用户可以选择让相机应用程序访问相机而不是设备位置。用户可以通过进入应用程序的设置屏幕随时撤销权限。

    请参阅here 了解更多信息。或许可以看看this question 以了解如何实现运行时权限,尽管在第一个链接中也有说明。

    【讨论】:

      【解决方案2】:

      根据新的棉花糖操作系统,您需要为“READ_SMS”配置运行时权限

      像这样:

      String permission = Manifest.permission.READ_SMS;
      
          if (ContextCompat.checkSelfPermission(getContext(), permission) != PackageManager.PERMISSION_GRANTED){
              permissionList.add(permission);
      
              if (!ActivityCompat.shouldShowRequestPermissionRationale(getActivity(), permission)){
                  requestPermissions(new String[]{permission}), SMS_PERMISSION);
              }
          }
      

      【讨论】:

      • 你能给我这个源代码吗?我看不到 permissionList 它的 Array 吗?或者 ArrayList 是什么?
      • 是的,你可以浏览android开发者的网站,这是一个很好的例子inthecheesefactory.com/blog/…
      • 是的,当然,但仅适用于以上 sdk 版本 23。
      • if (ActivityCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) { return ;这段代码就够了?
      猜你喜欢
      • 2012-07-20
      • 1970-01-01
      • 2011-04-06
      • 2015-03-23
      • 2017-10-15
      • 2013-10-18
      • 1970-01-01
      • 1970-01-01
      • 2016-02-06
      相关资源
      最近更新 更多