我想使用未与我的应用捆绑在一起的活动。我怎么能这样做?使用意图还是什么?我相信它一定很简单。
主要问题是我实际上无法做到这一点:
new Intent(this, SomeExternalActivity.class))
因为我无法导入该类(它是一个外部应用程序)。类似的东西,使用字符串或其他东西。
非常感谢!
这个也不起作用:
new Intent(this, Class.forName("com.somepackage.SomeExternalActivity");
答案 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)
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setClassName("com.joshsera", "com.joshsera.RemoteDroid");
startActivity(intent);
答案 2 :(得分:1)
您正在调用的活动不仅应出现在Manifest中,而且还应出现在CALLING包的Manifest中。