我的项目有问题.
getPackageManager()虽然我导入了,但我找不到方法 android.content.pm.PackageManager;
这段代码有什么问题
List<PackageInfo> packs = getPackageManager().getInstalledPackages(0);
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助
Nam*_*ace 56
错误不在您的代码行中,而是在您调用它的位置. getPackageManager()是一种Context的方法.您可以在Activity中使用此方法(因为Activity是一个Context),但如果您在其他地方调用它,则需要传递Context.在片段中,您还可以访问getActivity()函数,该函数返回Acitivity-Context.
Context context...;
context.getPackageManager();
getActivity().getPackageManager();
Run Code Online (Sandbox Code Playgroud)
小智 8
如果您在Activity中使用它,则不会收到错误或警告getPacketManager,但如果您在Fragments中使用它,则应在其前面添加getActivity.
例:
PackageManager pm = getActivity().getPackageManager();
尝试这个..
我猜你是延伸的 Fragment
所以,你必须getActivity().getPackageManager()像下面这样使用
List<PackageInfo> packs = getActivity().getPackageManager().getInstalledPackages(0);
Run Code Online (Sandbox Code Playgroud)
或扩展是BroadcastReceiver
在侧面onReceive你必须context.getPackageManager()像下面这样使用
List<PackageInfo> packs = context.getPackageManager().getInstalledPackages(0);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49443 次 |
| 最近记录: |