我想从一个应用程序调用另一个应用程序。我打电话给另一个应用程序来自非活动类。但getPackageManager()
显示错误,如The method getPackageManager() is undefined for the type AppLauncher
。我也导入了包管理器,但它仍显示相同的错误。
是否可以从非活动课程中调用另一个应用程序?提前感谢。
答案 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()? (但我想有充分的理由按照你的方式去做)