以下是这个主题的几个常用的知识点:
1.在自己的app打开已知包名的应用
Intent resolveIntent = getPackageManager().getLaunchIntentForPackage("com.tencent.mm");// 这里的packname就是从上面得到的目标apk的包名 // 启动目标应用 startActivity(resolveIntent);
2.拿到ActivityManager,从而得到任务栈,包名,类名:
ActivityManager activityManager=(ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
activityManager.getRunningTasks(1).get(0).topActivity.getPackageName()
activityManager.getRunningTasks(1).get(0).topActivity.getClassName();
3.在自己的应用中,打开另外一个应用的activity:
Intent intent = new Intent(); intent.setAction("android.intent.mhwhang.CALL"); ComponentName cn=new ComponentName("com.hejun.mytemp", "com.hejun.mytemp.ui.Activity.SecondActivity");
被打开的activity要配置,action和category,代码如下
<intent-filter> <action android:name="android.intent.mhwang.CALL"/> <category android:name="ANDROID.INTENT.CATEGORY.DEFAULT"/> </intent-filter>