Android的权限设置及自启动设置方法
在开发项目中,遇到了两大麻烦:
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 自定义 Dialog 实现列表 单选、多选、搜索功能
Android开发经常需要用到对话框来进行信息的筛选和搜索,本文详细介绍了如何使用自定义Dialog结合RecyclerView和搜索框实现这一功能,通过Builder模式构建复杂的Dialog对象,使得代码更加灵活和易于维护,文中提供了详细的步骤和代码注释2024-10-10
ListView的Adapter使用(绑定数据) 之 自定义每一项的布局去绑定数据
之前写的绑定数据是只是简单的绑定了字符串,这次我们将一次绑定多条数据并且尝试用自定义的布局。在这篇文章中首先讲解的是用Hashmap 去绑定数据,第二个例子,讲解自定义布局然后绑定数据2013-06-06
Android开发实现读取excel数据并保存为xml的方法
这篇文章主要介绍了Android开发实现读取excel数据并保存为xml的方法,涉及Android针对Excel数据读取及xml格式文件的构造与保存相关操作技巧,需要的朋友可以参考下2017-10-10
Kotlin使用TransitionDrawable实现颜色渐变效果流程讲解
这篇文章主要介绍了Kotlin使用TransitionDrawable实现颜色渐变效果,这里,我们通过TransitionDrawable显示颜色渐变效果,包括背景颜色的变化,以及图片与图片的渐变效果2023-02-02


最新评论