Can';在android中找不到getPackageManager()方法
我的项目有问题 虽然导入了Can';在android中找不到getPackageManager()方法,android,Android,我的项目有问题 虽然导入了android.content.pm.PackageManager,但找不到getPackageManager()方法 这段代码怎么了 List<PackageInfo> packs = getPackageManager().getInstalledPackages(0); List packs=getPackageManager().getInstalledPackages(0); .谢谢你的帮助试试这个 我猜你是extensionsisFragme
android.content.pm.PackageManager,但找不到getPackageManager()
方法代码>
这段代码怎么了
List<PackageInfo> packs = getPackageManager().getInstalledPackages(0);
List packs=getPackageManager().getInstalledPackages(0);
.谢谢你的帮助试试这个
我猜你是extensionsisFragment
因此,您必须像下面这样使用getActivity().getPackageManager()
List<PackageInfo> packs = getActivity().getPackageManager().getInstalledPackages(0);
List<PackageInfo> packs = context.getPackageManager().getInstalledPackages(0);
如果在类构造函数中有作为参数传递的上下文,例如广播接收器的上下文,也可以尝试context.getPackageManager()。
如果扩展片段,请使用getActivity().getPackageManager().getInstalledPackages(0)代码>
elsecontext.getPackageManager().getInstalledPackages(0)代码>错误不在代码行中,而是在调用代码的位置getPackageManager()
是一种上下文方法。您可以在活动中使用此方法(因为活动是一个上下文),但如果您在其他地方调用它,则需要传递上下文。在片段中,您还可以访问getActivity()函数,该函数返回活动上下文
Context context...;
context.getPackageManager();
getActivity().getPackageManager();
我认为这可能是由于Context
如果您正在使用
活动:然后您可以通过导入android.content.pm.PackageManager直接访问此方法代码>
如果您使用的是片段:,那么您需要提供getActivity()
以使用该方法
即
List<PackageInfo> packs = getActivity().getPackageManager().getInstalledPackages(0);
List packs=getActivity().getPackageManager().getInstalledPackages(0);
如果您在活动中使用它,则不会收到getPacketManager
的错误或警告,但如果您在片段中使用它,则应在其前面加上getActivity
示例:
PackageManager pm=getActivity().getPackageManager()代码>您是否收到任何错误?您的类是使用FragmentActivity、Activity还是Fragment扩展的?@user3418401如果它对您有效,那么您可以标记并更新它,以便其他开发人员可以快速获得解决方案。@RonakMehta我正在使用AsyncTask,您能建议我应该使用什么上下文吗???@Asahish,请在这里使用Activity context。