【问题标题】:Open another one application from our application?从我们的应用程序中打开另一个应用程序?
【发布时间】:2011-03-21 12:52:28
【问题描述】:

我必须从我的应用程序中打开另一个应用程序。有没有可能像这样打开?

【问题讨论】:

标签: android


【解决方案1】:

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

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

【讨论】:

【解决方案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);    

在 Common Tasks 帖子中阅读有关 Opening a Screen 的教程帖子。

【讨论】:

    【解决方案3】:

    您可以使用 Activity.startActivity(intent); 启动其他应用程序;

    像这样使用它:

    Intent intent = new Intent();
    String pkg = "com.android.browser";
    String cls = "com.android.browser.BrowserActivity";
    intent.setClassName(pkg, cls); 
    startActivity(intent);
    

    您需要知道要调用的 Activity 的包名和类名,如果不是您自己要调用的应用程序,Dev Tools 应用程序中的包浏览器将在这里提供帮助。

    【讨论】:

    • 请注意,使用“com.android.browser”和“com.android.browser.BrowserActivity”等手写常量使用的是私有实现细节(这些不是SDK的一部分),并且因此,您应该期望此类代码能够跨越不同的设备和平台版本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 2011-02-24
    • 1970-01-01
    • 2011-08-05
    • 2019-08-01
    相关资源
    最近更新 更多