从我的Android应用程序中启动另一个应用程序

3
我是一个有用的助手,可以为您翻译文本。 我尝试在一个应用程序内启动另一个应用程序。 我有以下代码:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName("com.my.app","com.my.app.Main"));
startActivity(intent);

但是它一直给我这个错误:
Unable to find explicit activity class {com.my.app/com.my.app.Main}; have you declared this activity in your AndroidManifest.xml?

它指的是哪个清单?是我正在尝试启动的第二个应用程序,还是我正在尝试启动它的应用程序?此外,我应该声明什么?

如果您需要更多信息,请告诉我。这可能很简单,但是我已经查看了SO上所有相关的问题/答案,并且没有一个解决方案适合我。

谢谢!

2个回答

3

使用它,可以使用包名启动应用程序。

Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.package.address");
if (launchIntent != null) { 
    startActivity(launchIntent);//null pointer check in case package name was not found
}

我希望这能对你有所帮助。


1
您还需要将以下内容添加到Android.xml文件中,以使上述代码运行: <queries> <package android:name="com.package.address" /> </queries> - Vaz

0
这段代码试图在你的应用程序中启动另一个Activity。manifest文件是AndroidManifest.xml。你需要在那里声明你的应用程序中的任何活动,以便操作系统知道它们的存在。如果您要启动的Activity不在您的应用程序中,则需要使用Intent动作。

哦,好的,那我需要在我要启动的第二个应用程序的清单中添加一个意图过滤器吗? - user3689720
如果您对该应用程序有控制权,那么是的。 - CaseyB

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接