Android:如何使用其他应用提供的活动?

时间:2011-02-22 08:57:16

标签: android android-activity

我想使用未与我的应用捆绑在一起的活动。我怎么能这样做?使用意图还是什么?我相信它一定很简单。

更新

主要问题是我实际上无法做到这一点:

new Intent(this, SomeExternalActivity.class))

因为我无法导入该类(它是一个外部应用程序)。类似的东西,使用字符串或其他东西。

非常感谢!

更新

这个也不起作用:

new Intent(this, Class.forName("com.somepackage.SomeExternalActivity");

3 个答案:

答案 0 :(得分:1)

您只能使用此构造函数启动与您的应用程序捆绑在一起的活动:

Intent(Context packageContext, Class<?> cls)

您需要使用以下其中一项来访问外部活动:

Intent(String action)
Intent(String action, Uri uri)

在您的情况下,您将使用此意图:

new Intent("com.somepackage.SomeExternalActivity");

另请注意,要访问其他应用中的活动,该应用需要提供对其活动的访问权限(通过AndroidManifest.xml)

检查以下内容以获得更多解释: http://developer.android.com/reference/android/content/Intent.html http://developer.android.com/guide/topics/manifest/manifest-intro.html http://developer.android.com/guide/topics/intents/intents-filters.html

答案 1 :(得分:1)

这是RemoteDroid

的一个工作示例
Intent intent = new Intent(Intent.ACTION_MAIN); 
intent.setClassName("com.joshsera", "com.joshsera.RemoteDroid"); 
startActivity(intent); 

答案 2 :(得分:1)

您正在调用的活动不仅应出现在Manifest中,而且还应出现在CALLING包的Manifest中。