转载请标明出处,维权必究:https://www.cnblogs.com/tangZH/p/10338377.html

有时候APP需要获取某些权限,要让用户手动打开,那么问题来了,若是直接提醒用户出去找权限入口,然后自己打开,用户不一定找得到,因为现在的Android厂家定制的room五花八门,那么用户觉得不耐烦就有可能流失这部分用户。

所以,我们需要给用户一个入口,让用户直接在APP里面跳转到对应的权限页面。但刚刚也说了,现在的Android厂家定制的room五花八门,所以不同的机型或者android版本打开权限页面的方法就可能不一样了,我们得去适配。

网上查了很多资料,什么中级终极重级的方案都有,虽然这确实能够解决一些机型的适配,但还是没能给出一个通用的解决方法。

比如有人说:

跳转华为的权限界面该这样:

private void goHuaWeiMainager() {try {Intent intent = new Intent(packageName);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);ComponentName comp = new ComponentName("com.huawei.systemmanager", "com.huawei.permissionmanager.ui.MainActivity");intent.setComponent(comp);mContext.startActivity(intent);} catch (Exception e) {Toast.makeText(mContext, "跳转失败", Toast.LENGTH_LONG).show();e.printStackTrace();goIntentSetting();}}

若是失败就直接打开默认界面:

 private void goIntentSetting() {Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);Uri uri = Uri.fromParts("package", mContext.getPackageName(), null);intent.setData(uri);try {mContext.startActivity(intent);} catch (Exception e) {e.printStackTrace();}}

从上面可以看出其主要的方法在与:

ComponentName comp = new ComponentName("com.huawei.systemmanager", "com.huawei.permissionmanager.ui.MainActivity");

里边的参数前一个是华为权限界面的包名,华为权限界面的类名,既然知道包名与类名自然可以打开该Activity。

其他机型也是用这样的思想去解决,那么问题就出现了,看了网上这么多适配的方案,都是这样的思想啊,写来写去都差不多,那他们怎么就知道这些机型的权限界面的包名与类名呢?他们从来都没说,或许是我没看到,尴尬。

好了,所有的方法最终归回到终极方案,下面便是最终方法:

找到该机型,然后找打你想要的权限界面,可能比较难找,不过你还是要找到它,然后打开,接着通过adb命令查看当前页面的Activity,就可以看到该权限界面的包名与类名。

具体方法看链接:

https://www.cnblogs.com/tangZH/p/10139371.html

当然,你想要适配什么机型什么android系统版本,就需要找到这样一台手机去执行这样的操作,拿到权限界面的包名与类名后就可以用上述类似的方法,在app里边直接打开权限界面,没办法,好好适配吧,少年。

转载于:https://www.cnblogs.com/tangZH/p/10338377.html

Android 跳转权限设置界面的终极方案相关推荐

  1. Android调app权限设置界面(适配各大手机厂商终极版本)

    背景: 众所周知,国内的android是在google之上,各大手机厂商加了一层,诸如MIUI.EUI,之类的系统.因此在我们开发过程中想调出某应用的权限设置页面,调出的是google原生的权限控制界 ...

  2. android 权限管理适配 oppo,Android调app权限设置界面(适配各大手机厂商终极版本)...

    背景: 众所周知,国内的android是在google之上,各大手机厂商加了一层,诸如MIUI.EUI,之类的系统.因此在我们开发过程中想调出某应用的权限设置页面,调出的是google原生的权限控制界 ...

  3. Android 权限被拒绝,跳转至权限设置界面

    参考博客:Android跳转权限设置页面 本文基于上面博客进行封装,直接上代码: import android.content.ComponentName; import android.conten ...

  4. android 强制打开gps定位_Android 6.0动态权限及跳转GPS设置界面的方法

    1.动态权限申请 模糊的位置信息android.permission.ACCESS_COARSE_LOCATION权限为例 在AndroidManifest文件中加入权限 然后java代码中动态申请 ...

  5. android app没有读写权限设置,Android 6.0以上权限拒绝打开权限设置界面的解决方法...

    本人使用小米手机,打开qq或者微信的时候,某个权限拒绝的话,会提示你开启,点击开启会跳转到app的权限设置界面,当然了,这是国内系统深层定制的原因,也就是说这个界面原声的android没有的!这里以小 ...

  6. android 获取单个通讯录联系人信息(无权限跳转权限设置页面)

    首先说一下,在魅族手机上需要用户手动开启权限,不然获取到的cursor.moveToFirst()会返回false,反过来,如果cursor.moveToFirst()返回false,一般都是权限问题 ...

  7. App跳转到权限设置界面

    iOS 10 App跳转到权限设置界面(iOS10之前就不各个记录了) NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLSt ...

  8. android 修改应用权限设置在哪里,Android在应用设置里关闭权限,返回生命周期处理...

    问题 在处理6.0运行时权限时,很多人都忽略了这样一个问题: 在一个App应用里,如果已经允许了一个权限比如(读取通讯权限),此刻去调用相机,弹出权限申请对话框,此刻点击拒绝,然后经过处理后弹出去设置 ...

  9. Android运行时权限,设置帮助类BaseActivity;电话权限,短信权限,

                                      Android运行时权限设置帮助类BaseActivity  一.电话权限 package com.glandroid.smssen ...

最新文章

  1. git cherry-pick 把提交到A分支的部分commit 再提交到B分支上
  2. XML读取信息并显示
  3. sdio stm32理解 205 sdio调试 stm32f205
  4. Differentially Private Asynchronous Federated Learning for Mobile Edge Computing in Urban Informatic
  5. c语言论坛编程,[原创]了解c语言
  6. 商汤内推:2023届(AI先锋/校园招聘)
  7. 字符串str.format()方法的个人整理
  8. 2020年GitHub上50个最受程序员欢迎的PHP开源项目
  9. HDU 5755 Gambler Bo(高斯消元裸题)——2016 Multi-University Training Contest 3
  10. python中常用于输出信息的语句函数是print括号_第十四课我们研究一下常用的print()函数,翻看了一下Python宝典...
  11. A Monocular SLAM System Leveraging Structural Regularity in Manhattan World
  12. MATLAB图像处理-图像增强之彩色图像直方图均衡化(RGB通道和HSV通道两种)
  13. 【编程题】判断一个多边形是否为凸多边形
  14. 利用手机工具教你快速完成英语翻译在线翻译中文
  15. QP+uc/GUI嵌入式系统图形界面
  16. 视频号主页,实现一键添加个人微信功能,留客更方便,真香
  17. 大疆创新 java面试_如何成功应聘大疆创新科技?
  18. 在 4GB 物理内存的机器上,申请 8G 内存会怎么样?
  19. 新概念英语第一册(26)
  20. 浅谈信息安全与ISO27001体系认证的紧密性

热门文章

  1. [转载] Java基础之构造方法(函数)何时被调用
  2. Python实训第一天--基础知识
  3. Description Resource Path LocationType Java compiler level does not match the version of the instal
  4. Python:Django 项目中可用的各种装备和辅助
  5. hadoop2.7的目录结构
  6. QT5.1 调用https
  7. CentOS 6.4 中yum命令安装php5.2.17
  8. poj 1459-Power Network解题报告
  9. 数据结构笔记(三十四)二叉排序树的删除
  10. yolov3从头实现(五)-- yolov3网络块