在AndroidManifest.xml中做如下修改
<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.DEFAULT"/> </intent-filter>
在第三方程序中如下调用
Intent intent = new Intent(Intent.ACTION_MAIN); intent.setComponent(new ComponentName("com.test.app", "com.test.app.MainActivity")); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent);
其中com.test.app为应用程序包名,而com.test.app.MainActivity为你所要启动的第一个Activity
亦可如此:
public boolean startApp(String packageName) { Intent intent = new Intent(Intent.ACTION_MAIN, null); intent.addCategory(Intent.CATEGORY_DEFAULT); PackageManager pm = getPackageManager(); List<ResolveInfo> listInfos = pm.queryIntentActivities(intent, 0); String className = null; for (ResolveInfo info : listInfos) { if (packageName.equals(info.activityInfo.packageName)) { className = info.activityInfo.name; break; } } if (className != null && className.length() > 0) { intent.setComponent(new ComponentName(packageName, className)); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); startActivity(intent); return true; } return false; }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。