如何在Android片段内运行或启动应用程序?

时间:2011-11-08 04:29:50

标签: android android-fragments launch

我想在片段中启动设备的任何现有app。 谁能帮助我,我怎么能这样做。

谢谢& BR, 爬完

2 个答案:

答案 0 :(得分:0)

您不能只运行其他应用的代码。出于安全原因,每个应用程序都在其自己的dalvik VM中运行。您想要与其他应用程序进行交互,您需要使用意图系统。这允许程序员定义某些交互方式。

如果您正在谈论自己创建的两个应用程序,您可以尝试通过在两个应用程序的清单中共享资源共享资源以及从一个应用程序切换到另一个应用程序的意图,在此处请求的应用程序场景中模拟应用程序。并不是说我能想到一个很好的用例...

将此与具有透明背景的第二个应用程序相结合,应该可以以某种方式隐藏启动另一个应用程序的事实。尽管如此,仍然想不出一个好的用例......给我一个惊喜。

答案 1 :(得分:0)

对于普通应用来说这是不可能的,如果你想尝试一下,请阅读this

否则,您可以尝试制作一个Home应用程序(如果这是您的实际任务),通过此过滤意图:

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.HOME" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

然后在您的代码中,您可以像这样获取应用程序:

List<ApplicationInfo> apps = context.getPackageManager().getInstalledApplications(0);

将它们显示为某种列表或网格,当您处理点击时,您可以将其作为独立应用程序启动,如下所示:

context.getPackageManager().getLaunchIntentForPackage(app.packageName);

其中app是ApplicationInfo。但是,您当然必须过滤具有实际启动意图的应用程序。 :)

但是再次关于在你自己的应用程序中启动它们,我不确定你能做到。