是否可以使用活动名称或类似功能在Android上使用startActivity在不同的apk中启动活动?

时间:2010-04-20 14:22:08

标签: java android android-activity android-intent

我尝试编写一个Android应用程序,其活动应该从其他应用程序启动。它不是内容提供者,只是具有gui的应用程序,不应该在已安装的应用程序中列出。我已经尝试过代码示例here,并且启动现有提供程序等似乎很容易,但我没有弄清楚如何编写一个“隐藏”应用程序并从另一个应用程序启动它。 / p>

基本用例是:

  • App A是从应用程序列表中启动的普通apk。
  • App B是具有已知包和活动名称的不同apk,但是从应用程序列表中看不到或无法启动。
  • App A使用包和类名称(或者可能是从这些名称构造的URI)启动应用B。

我在第三步失败了。有可能这样做吗?

3 个答案:

答案 0 :(得分:5)

使用包名称和类名称(如启动Gmail):

new Intent("com.google.android.gm", "com.google.android.gm.ConversationListActivity");

答案 1 :(得分:1)

为什么要使用“包和类名”在第二个.apk中启动活动?

为什么不使用Intent,因为这是启动Activity的标准方法?

答案 2 :(得分:1)

在同一行中,如果我有一个通常启动活动的应用程序,我可以通过使用私钥对其进行签名将其构建为apk。这是否允许其他开发人员构建的其他apks访问该活动?