Android的权限设置及自启动设置方法

所属分类: 软件编程 / Android 阅读数: 84
收藏 0 赞 0 分享

在开发项目中,遇到了两大麻烦:

1、涉及到的系统的权限较多(拍照、录音、定位、拨号等)。

对于这点,有很多人会拒绝这些权限,那就尴尬了,他们又不懂只会跟我们反应这什么破app,这个不好用,那个不好使,更可恶的是不同手机的系统设置都长不一样,根本就不好跟他们讲在那里进行设置。于是想到解决的办法就是:在app中添加一个设置权限按钮让app直接跳到它的权限设置界面,这就方便多了。代码段如下:

/**
  * 跳转到权限设置界面
  */
 private void getAppDetailSettingIntent(Context context){
  Intent intent = new Intent();
  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  if(Build.VERSION.SDK_INT >= 9){
   intent.setAction("android.settings.APPLICATION_DETAILS_SETTINGS");
   intent.setData(Uri.fromParts("package", getPackageName(), null));
  } else if(Build.VERSION.SDK_INT <= 8){
   intent.setAction(Intent.ACTION_VIEW);
   intent.setClassName("com.android.settings","com.android.settings.InstalledAppDetails");
   intent.putExtra("com.android.settings.ApplicationPkgName", getPackageName());
  }
  startActivity(intent);
 }

2、对实时推送消息的要求很高。

就这个问题,对于菜鸟的我来讲真的是好头大…有很多客户反应app在后台运行运行就死了,通知收不到了。

经过了我一番搜索后,稍微有点成果。

首先,最基本的要保证service不容易被杀掉:1、将service优先级调到最大;2、在onDestroy()中自启。

<intent-filter android:priority="1000">

其次,在AndroidManifest.xml文件里将persistent设置为true。

最后,就是将app设置为允许自启动。(就这个!我头很大!)

这里我想着和设置权限一样,直接点击一个按钮直接跳到自启动管理页面,然而网上搜了很久都没有找到这个统一的Intent。

而是通过执行这个指令 adb shell dumpsys activity top来捕捉当前的Activity。然后app可以通过指定的ComponentName来进行跳转。

例如:我用的是红米note3

红米note3系统设置中自启动管理的页面:

com.miui.securitycenter/com.miui.permcenter.autostart.AutoStartManagementActivity

于是可以通过下面的代码段来进行页面跳转进行设置:

private void selfStartManagerSettingIntent(Context context){

  String system = EquipmentSystemUtils.getSystem();
  Intent intent = new Intent();
  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  ComponentName componentName = new ComponentName("com.huawei.systemmanager","com.huawei.systemmanager.startupmgr.ui.StartupNormalAppListActivity");
  intent.setComponent(componentName);
  try{
   context.startActivity(intent);
  }catch (Exception e){//抛出异常就直接打开设置页面
   intent=new Intent(Settings.ACTION_SETTINGS);
   context.startActivity(intent);
  }

 }

然而别的系统是啥,公司太寒酸了,没有别的安卓机。。。求各位好心的大神提供一下。。。

目前知道的:

/**
  * 跳转到自启动页面
  *
  * 华为 com.huawei.systemmanager/com.huawei.systemmanager.startupmgr.ui.StartupNormalAppListActivity
  * 小米 com.miui.securitycenter/com.miui.permcenter.autostart.AutoStartManagementActivity
  * vivo com.iqoo.secure/.ui.phoneoptimize.AddWhiteListActivity
  * oppo com.coloros.oppoguardelf/com.coloros.powermanager.fuelgaue.PowerUsageModelActivity
  *
  */

还有很多常见的系统都母鸡了,也不知道有没有别的简洁的方法。。。

以上这篇Android的权限设置及自启动设置方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

Android网络编程之获取网络上的Json数据实例

这篇文章主要介绍了Android网络编程之获取网络上的Json数据实例,本文用完整的代码实例讲解了在Android中读取网络中Json数据的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中的windowSoftInputMode属性详解

这篇文章主要介绍了Android中的windowSoftInputMode属性详解,本文对windowSoftInputMode的9个属性做了详细总结,需要的朋友可以参考下
收藏 0 赞 0 分享

Android网络编程之UDP通信模型实例

这篇文章主要介绍了Android网络编程之UDP通信模型实例,本文给出了服务端代码和客户端代码,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中使用ListView实现漂亮的表格效果

这篇文章主要介绍了Android中使用ListView实现漂亮的表格效果,本文用详细的代码实例创建了一个股票行情表格,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中刷新界面的二种方法

这篇文章主要介绍了Android中刷新界面的二种方法,本文使用Handler、postInvalidate两种方法实现界面刷新,需要的朋友可以参考下
收藏 0 赞 0 分享

Android SDK三种更新失败及其解决方法

这篇文章主要介绍了Android SDK三种更新失败及其解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(一)

Android3.0(API level 11)开始,Android设备不再需要专门的菜单键。随着这种变化,Android app应该取消对传统6项菜单的依赖。取而代之的是提供anction bar来提供基本的用户功能
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(二)

这次将继续上一篇文章没有讲完的Menu的学习,上下文菜单(Context menu)和弹出菜单(Popup menu)
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(三)

今天继续昨天没有讲完的Menu的学习,主要是Popup Menu的学习,需要的朋友可以参考下
收藏 0 赞 0 分享

Android显示网络图片实例

这篇文章主要介绍了Android显示网络图片的方法,以实例形式展示了Android程序显示网络图片的方法,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多