我是一名程序员,在

MIUI

中,涉及浮窗的

APP

需要在对应的软件设置页面打开

浮窗权限

才能正常使用

APP

MIUI

的权限设置入口就在应用管理页面,可以通过如下的代码跳转至该入口:

private IntentgetAppDetailSettingIntent(Context context) {

Intent localIntent = new Intent();

localIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

if (Build.VERSION.SDK_INT >= 9) {

localIntent.setAction("android.settings.APPLICATION_DETAILS_SETTINGS");

localIntent.setData(Uri.fromParts("package", getPackageName(),null));

} else if (Build.VERSION.SDK_INT <= 8) {

localIntent.setAction(Intent.ACTION_VIEW);

localIntent.setClassName("com.android.settings","com.android.settings.InstalledAppDetails");

localIntent.putExtra("com.android.settings.ApplicationPkgName", getPackageName());

}

return localIntent;

}

但是在奇酷360手机中,这段代码确实可以跳转至“应用管理”页面,但是应用管理页面中的 权限管理的入口是 置灰的,无法点击。:

而且Android自带的任何Action 都不发正确跳转至“权限”的页面。

研究了下,这款手机权限管理的正确进入方式为:(操作流程为:设置-->应用权限管理-->权限管理-->按软件查看)

我玩了下手机,发现手机中有一款内置的App ,名为“安全中心”, 这款App打开后,有个入口也叫权限管理,进去后,如图所示:

操作流程为:

安全中心-->权限管理-->按软件查看

随意点击一个App后进入到真正的“权限管理”页面:

并且我发现一个现象:

1.  从设置进去的权限管理页面 在跳转的时候有明显的卡顿,在同款App内部进行跳转的时候,除非在onCreate 、onPostCreate、onStar等生命周期涉及到的方法中进行耗时操作,才有可能导致Activity 启动卡顿

2.  但是从“安全中心” App进去权限管理的页面,却不会卡顿

所以我有理由相信这是在设置中进行对 “安全中心”这款App “权限管理" 页面的跳转,于是我遍历了下手机中所有的App的应用信息,发现“安全中心”的包名为:“

com.qihoo360.mobilesafe”,

接着我用下面的方法找到这款App的入口Activity 的ClassName 为:“

com.qihoo360.mobilesafe.ui.index.AppEnterActivity”

Intent resolveIntent = new Intent();

resolveIntent.addCategory(Intent.CATEGORY_DEFAULT);

resolveIntent.setPackage(pi.packageName);

List apps = getPackageManager().queryIntentActivities(resolveIntent,0);

ResolveInfo ri = apps.iterator().next();

for (int i = 0; i < apps.size(); i++) {

ResolveInfo ri = apps.get(i);

System.out.println("packageName:" + ri.activityInfo.packageName +" className: " + ri.activityInfo.name);

}

/**

下面的代码可以跳转至这个APP的入口Activity

if (ri != null ) {

String packageName = ri.activityInfo.packageName;

String className = ri.activityInfo.name;

Intent intent = new Intent(Intent.ACTION_MAIN);

intent.addCategory(Intent.CATEGORY_LAUNCHER);

ComponentName cn = new ComponentName(packageName, className);

intent.setComponent(cn);

startActivity(intent);

}

如果只是想跳转至这个APP的入口Activity,可以更简单:

Intent intent = new Intent();

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

intent = getPackageManager().getLaunchIntentForPackage("com.qihoo360.mobilesafe");

startActivity(intent);

*/

但只是找到入口远远不够,我需要找到“权限管理”页面,于是我通过下面的Adb命令找到了"权限管理"页面所在的Activity的ClassName为: “

com.qihoo360.mobilesafe.loader.a.ActivityN1NR0”

1.logcat

.清除logcat内容,使用命令adblogcat -c

.启动logcat,使用命令adblogcat ActivityManager:I *:s

.启动要查看的程序,

2.dumpsys

(1)启动要查看的程序;

(2)命令行输入:adb shell dumpsys windoww |findstr \/ |findstr name=

做完上述操作的第一步之后,点击“安全中心” ,进入到这个App,一步步点击到“权限管理”页面。操作流程为: 安全中心App-->权限管理-->按软件查看.

做到这里, 我希望跳转至这个Activity:

ActivityN1NR0,我想反编译这个“安全中心”App的代码看看跳转的代码,所以我想root后去

/system目录下找这个app的 apk包。

我尝试root :失败。 使用root工具: 失败。

我换了种方式,直接通过文件流把这个APP的apk包复制出来也行啊,如下所示:

try {

ApplicationInfo appInfo =getPackageManager().getApplicationInfo("com.qihoo360.mobilesafe", 0);

String apkPath = appInfo.sourceDir;

if (TextUtils.isEmpty(apkPath)) {

return;

}

FileInputStream fileInputStream = new FileInputStream(apkPath);

File cacheFile = new File(Environment.getExternalStorageDirectory().toString()+ File.separator + "360safe.apk");

if(!cacheFile.exists()) {

cacheFile.createNewFile();

}

BufferedOutputStream bos = null;

bos = new BufferedOutputStream(new FileOutputStream(cacheFile));

byte[] buf = new byte[1024];

int len = 0;

while ((len = fileInputStream.read(buf)) > 0) {

bos.write(buf, 0, len);

}

fileInputStream.close();

bos.close();

} catch (Exception e) {

e.printStackTrace();

}

复制成功,但是悲剧了,我zip解压后,发现没有

classes.dex文件,都在assect中,如图所示:

AndroidMnifest.xml中找到了Activity:

ActivityN1NR0

至此,是我全部的过程,

还是没有找到跳转至

权限管理

页面的

方法。

后续寻找方法中!!!

360论坛发帖地址:点击打开链接

android 360卫士跳转权限页面如何实现,奇酷360 手机中怎么跳转安全中心中指定包名App的权限管理页面...相关推荐

  1. 奇酷360 手机中怎么跳转安全中心中指定包名App的权限管理页面

    在处理SDK开发过程中遇到如下问题,在 MIUI 中,涉及浮窗的 APP  需要在对应的软件设置页面打开   浮窗权限   才能正常使用 APP , MIUI 的权限设置入口就在应用管理页面,可以通过 ...

  2. Android 11.0 根据包名授予WRITE_SETTINGS权限

    目录 1.概述 2.根据包名授予WRITE_SETTINGS权限的核心类 3.根据包名授予WRITE_SETTINGS权限的核心功能分析和实现

  3. 奇酷360 8692-A008692-M02卡刷线刷教程ROM固件包下载

    发布日期:2018-11-08 来源:ROM网 阅读:611 摘要:刷机注意事项: 1.电脑链接手机时无反应,请安装(刷机准备)中的手机驱动后在尝试. 2.使用刷机工具线刷时不需要进入fastboot ...

  4. linux保险箱软件,360保险箱的保护功能 - 不怕盗号木马 奇虎360保险箱抢鲜试用(组图)_Linux安全_Linux公社-Linux系统门户网站...

    360保险箱的保护功能 二.360保险箱的保护功能 保护功能是360保险箱的主要功能,在保护功能下共有"安全启动"."正在保护"."保护历史" ...

  5. 360奇酷N5手机显示Log

    1.在桌面点击拨号,在拨号盘输入"*20121220#",进入工程模式; 2.看到日志输出等级,点进去 Log print enable 选 enable Java log lev ...

  6. 奇酷360打不出log

    机器在出厂时将log的级别做了限制,方法是:拨号盘输入*20121220#   ->  选择日志输出级别  ->  选择Java log level -> 选择LOGD即可.

  7. android 华为开发权限管理,android开发 华为 点击跳转到权限管理页面

    private void goHuaWeiSetting()  { try { //HUAWEI H60-l02 P8max测试通过 Log.d(MainActivity.class.getSimpl ...

  8. Android实现根据包名跳转各大应用市场

    目录 前言: 1.MartetUtils:各大应用市场工具类 2.使用实例代码,这里以跳转qq为例: 3.实现的效果截图如下: 4.总结:目前已经实现华为.小米.oppo.vivo.魅族.联想.应用宝 ...

  9. [转]奇虎360黑匣子之谜:暗藏后门盗取用户隐私

    每经记者 秦俑 昨日(2月25日),正是奇虎360所有APP产品被苹果全面下架一个月的日子. 就在此前,360的CFO亲赴美国"负荆请罪",但360相关产品并未重新上架. 知情人士 ...

最新文章

  1. mysql批量insert bug_MySQL Bug insert into on duplicate key update 语法更新 text blob 大字段导致 MySQL crash...
  2. python求10的所有因数_python怎么求因数
  3. 线程为什么调用start()而不是直接调用run()
  4. docker-compose up volumes 调用外部文件,权限问题 cannot open directory xxxxx .: Permission denied
  5. 深入理解PHP Opcode缓存原理
  6. 望SQLServer 高手指点
  7. centos7.5 安装配置supervisor管理python进程(也就是服务)
  8. json html双引号,当gethtml方法返回json时,json中的字符串如果存在双引号,会破坏json的格式, 如:quot;...
  9. android5.1 xposed,Xposed框架oppo下载
  10. 浅谈,盘点历史上有哪些著名的电脑病毒,80%的人都不知道!
  11. 对LNode*与LinkLinst等价却不等用的理解
  12. android google翻译,在android中施用google翻译
  13. 激光雷达:点云语义分割算法
  14. Flink程序 Timer实现定时操作
  15. Sendmail配置以及验证成功
  16. mavlink协议_MAVLink学习之路03_XML中定义MSG并生成C代码
  17. wps 制作 组织结构图
  18. Navicat使用技巧(附快捷键)(多年总结,待完善)
  19. 令人拍案叫绝的Wasserstein GAN(转载)
  20. Discuz论坛网盘伪装成本地文件插件

热门文章

  1. 产品经理01_岗位解析
  2. 10的负3次方用matlab怎么,10的三次方和10的负三次方在word中怎么输入?有谁知道告我一声,谢谢...
  3. 记一次微信小程序UserInfo信息介绍
  4. 六步透视网易设计规范
  5. 《机器学习(周志华)》 西瓜数据集3.0
  6. 关于全面测试xDSL线路的几种方法
  7. LINUX网络流量限速控制
  8. 前端将后端返回的带颜色的数据进行转换
  9. jacobi迭代法(C#实现)
  10. 使用Altium Designer进行钢网文件的生成和制作