从我们的应用程序打开另一个应用程序?
答
也许你正在寻找一种方式来开始另一个类从另一个包
Intent myIntent = new Intent();
myIntent.setClassName("com.android.samples", "com.android.samples.Animation1");
myIntent.putExtra("com.android.samples.SpecialValue", "Hello, Joe!"); // key/value pair, where key needs current package prefix.
startActivity(myIntent);
阅读教程后,在常规任务约Opening a Screen发布。
答
您可以使用Activity.startActivity(intent)启动其他应用程序;
使用方法如下:
Intent intent = new Intent();
String pkg = "com.android.browser";
String cls = "com.android.browser.BrowserActivity";
intent.setClassName(pkg, cls);
startActivity(intent);
你需要知道活动的包和类名来调用,在开发工具的应用程序包浏览器将帮助这里,如果不是你自己的应用程序调用。
+2
请注意,使用手写的常量,如“com.android.browser”和“COM .android.browser.BrowserActivity“正在使用私有实现细节(这些不是SDK的一部分),因此您应该期望这样的代码能够跨越不同的设备和平台版本。 – hackbod 2010-07-27 11:19:35
答
您应该使用包管理器的功能。
try {
Intent i = ctx.getPackageManager().getLaunchIntentForPackage("com.android.browser");
ctx.startActivity(i);
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
}
检查使用意图的http://developer.android.com/reference/android/content/Intent.html – Noya 2010-07-27 10:37:52