程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了LocationManager.getProviders() 根据目标 API 级别返回空列表大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决LOCATIOnManager.getProviders() 根据目标 API 级别返回空列表?

开发过程中遇到LOCATIOnManager.getProviders() 根据目标 API 级别返回空列表的问题如何解决?下面主要结合日常开发的经验,给出你关于LOCATIOnManager.getProviders() 根据目标 API 级别返回空列表的解决方法建议,希望对你解决LOCATIOnManager.getProviders() 根据目标 API 级别返回空列表有所启发或帮助;

虑下面的代码,我用它来准备读取位置。

LOCATIOnManager LOCATIOnManager = (LOCATIOnManager) context.getSystemservice (Context.LOCATION_serviCE);
List<String> ListProvIDers = LOCATIOnManager.getProvIDers (true);

在 AndroID 清单中使用 <uses-sdk androID:minSdkVersion="16" />,代码可以完美运行。但是当我将 androID:targetSdkVersion="23" 添加到这一行时,每次 ListProvIDers 都是一个空列表。因此我无法访问位置提供程序。我做错了什么?

我已经在三星 galaxy S5 上进行了测试,即 AndroID 6.0.1(API 级别 23)。

解决方法

  1. 为请求代码声明一个 int 变量。

    TraceBACk (most recent call last): File "D:\xxxxx\all_the_program.py",line 163,in <module> if audio['TXXX:SERIES'].text[0] is None: File "D:\xxxxx\venv\lib\site-packages\mutagen\_util.py",line 537,in __getitem__ return self.__Dict[key] TraceBACk (most recent call last): File "D:\xxxxx\all_the_program.py",in <module> if not audio['TXXX:SERIES'].text[0]: File "D:\xxxxxx\venv\lib\site-packages\mutagen\_util.py",in __getitem__ return self.__Dict[key] KeyError: 'TXXX:SERIES'

  2. 使用您需要的权限名称声明一个字符串。

    private static final int requEST_CODE_PERMISSION = 2;

  3. 下一步 检查 onCreate 方法的运行时权限条件,

    String mPermission = Manifest.permission.ACCESS_FINE_LOCATION,
  1. 现在声明 onrequestPermissionsResult 方法来检查请求代码,

    try {
                 if (ActivityCompat.checkSelfPermission(this,mPermission)
                         != mockPackageManager.PERMISSION_GRANTED) {
    
                     ActivityCompat.requestPermissions(this,mPermission,requEST_CODE_PERMISSION);
    
                   // If any permission above not allowed by user,this condition will execute every time,else your else part will work
                 } 
             } catch (Exception E) {
                 e.printStackTrace();
             }
    

如果您声明了任何危险权限,并且您的应用安装在运行 Android 6.0(API 级别 23)或更高版本的设备上,则您必须在运行时按照the steps in this guide

请求危险权限

大佬总结

以上是大佬教程为你收集整理的LocationManager.getProviders() 根据目标 API 级别返回空列表全部内容,希望文章能够帮你解决LocationManager.getProviders() 根据目标 API 级别返回空列表所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: