我想在按钮点击时创建一个启动外部应用程序(例如shazam)的活动。 可能吗?怎么办呢?
谢谢!
答案 0 :(得分:5)
我找到了解决方案。在应用程序的清单文件中 我找到了我的包名:com.package.address以及我想要启动的Mainctivity的名称:
以下代码启动此应用程序:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName("com.package.address","com.package.address.MainActivity"));
startActivity(intent);
答案 1 :(得分:2)
您需要其他应用包名称(如果您安装了此应用,则可以使用adb进行检查)
adb shell cmd包列表包| grep shazam
或者您可以在Google Play应用页面查看 - 请查看网址: https://play.google.com/store/apps/details?id=com.shazam.android
然后只使用以下代码(作为上下文,您可能会使用您的活动)
PackageManager pm = context.getPackageManager();
Intent intent = pm.getLaunchIntentForPackage("com.shazam.android");
if (intent != null) {
context.startActivity(intent);
}
或者你可以将它(如我所建议的那样)移动到单独的方法中,例如
public static void openApp(Context context, String appPackageName) {
if (context == null) {
Log.e("<Class name>","Context is null");
return;
}
PackageManager pm = context.getPackageManager();
Intent intent = pm.getLaunchIntentForPackage(appPackageName);
if (intent != null) {
context.startActivity(intent);
}else{
Log.e("<Class name>", "Cannot start app, appPackageName:'" + appPackageName + "'");
}
}
答案 2 :(得分:0)
尝试谷歌搜索或阅读Android开发者的官方文档:http://developer.android.com/training/basics/intents/sending.html