【发布时间】:2013-03-27 07:16:05
【问题描述】:
参考下面链接的答案。
Android : Call activity of another application
我试过firstTabSpec.setIndicator("Second Tab Name").setContent(new Intent("com.company.package.FOO"));
但我得到了一个
java.lang.SecurityException:请求来自 com.company.package(uid 10036)的代码在进程 com.example.test(uid 10037)中运行
其中 com.example.test 是调用已安装包“com.company.package.FOO”的包
com.company.package 清单
<activity
android:name="com.company.package.Login"
android:label="@string/app_name"
android:windowSoftInputMode="adjustResize|stateVisible" >
<intent-filter>
<action android:name="com.company.package.FOO" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
com.example.test 清单
<activity
android:name="com.example.test.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
如果您需要更多详细信息,请告诉我。
谢谢:)
【问题讨论】:
-
您不能将来自其他应用的活动嵌入到您自己的应用中。
-
他们已经在我发布的参考链接中完成了。我通过单击按钮尝试了它,但无法在 TabActivity 中实现它。
-
这不是一回事。您可以使用
Intent从另一个应用程序开始新的Activity,但在您的情况下,使用setContent()和Intent实际上是在使用Intent指向的活动构建该选项卡的内容。所以基本上启动的 Activity 将嵌入在 Android 中不允许的TabActivity(你不应该首先使用它,因为它已被弃用)中(导致 SecurityException)。 -
哦,好的。那么还有其他选择吗?
-
嵌入一个活动,没有。所以你需要重新考虑你当前的逻辑。
标签: android android-intent tabs android-activity intentfilter