从非活动类调用另一个应用程序

时间:2012-09-06 06:13:39

标签: android

我想从一个应用程序调用另一个应用程序。我打电话给另一个应用程序来自非活动类。但getPackageManager()显示错误,如The method getPackageManager() is undefined for the type AppLauncher。我也导入了包管理器,但它仍显示相同的错误。

是否可以从非活动课程中调用另一个应用程序?提前感谢。

3 个答案:

答案 0 :(得分:2)

activity context传递给non-activity class。并从该上下文调用不同的应用程序。

答案 1 :(得分:1)

您需要一个上下文来调用getPackageManager()。从应用中的活动中获取上下文:

在主要活动的onCreate块中:

AppLauncher.setContext(this.getBaseContext));
非活动类(AppLauncher)中的

Context context;
public static void setContext(Context context) {
    this.context = context;
}

在您要调用getPackageManager()的非活动类中:

context.getPackageManager();

提示:如果您在Windows上使用eclipse进行开发,请始终使用Ctrl + Shift + O自动导入缺失的和必需的包。

答案 2 :(得分:0)

这些方法(例如 getPackageManager() startActivity())是上下文的成员。 您需要将主活动或其Context传递给另一个类。

BTW我不明白为什么你需要包管理器来启动另一个应用程序。如何使用相应的意图调用startActivity()? (但我想有充分的理由按照你的方式去做)