Android根据包名启动或者销毁activity

来源:互联网 发布:公司淘宝客服规则大全 编辑:程序博客网 时间:2024/05/29 14:31

1.启动
公司需要做一个快捷启动,就是说在熄灭屏幕的情况下,长按音量-进入你设置的应用.

在自己的应用开发过程中,有可能需要在自己的应用中启动其他应用,此时,如果应用对外公开了自己的启动Intent方式,可以直接创建该Intent,然后通过startActivity(myIntent)。

这种方式相信都很熟悉。

如果不知道想要启动的应用的Intent,也有两个方法可以实现这个功能。

1、通过反编译这个应用的apk,在该应用的AndroidManifest.xml中找到该应用的第一个Activity,然后通过在自己的应用中直接启动这个Activity即可。

比如在自己的应用中想通过一个按键直接打开QQ,可以反编译QQ.apk,找到启动的Activity为com.qq.android.LoginActivity。可以直接在自己的代码中写:

[java] view plain copy

Intent intent = new Intent();  intent.setComponent(new ComponentName("com.qq.android","com.qq.android.LoginActivity"));  //前名一个参数是应用程序的包名,后一个是这个应用程序的主Activity名    startActivity(intent);  

需要知道要启动的应用的包名即可。

[java] view plaincopy

Intent intent = getPackageManager().getLaunchIntentForPackage("com.qq.android");  startAcitvity(intent);  

2.销毁

final ActivityManager am = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
am.forceStopPackage(quickstart_packagename);

阅读全文
0 0
原创粉丝点击