2010-07-27 100 views

回答

2

也许你正在寻找一种方式来开始另一个类从另一个包

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发布。

1

您可以使用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

3

您应该使用包管理器的功能。

try { 
    Intent i = ctx.getPackageManager().getLaunchIntentForPackage("com.android.browser"); 
    ctx.startActivity(i); 
} catch (NameNotFoundException e) { 
    // TODO Auto-generated catch block 
} 
相关问题