android服务并没有列出所有的应用程序

3okqufwl  于 2021-06-26  发布在  Java
关注(0)|答案(0)|浏览(241)

我正在尝试使用服务获取应用程序列表。我正在使用queryintentservices获取应用程序列表。它在mainactivity上工作,但是当我从服务中调用这个方法时,它会返回它自己运行的应用程序。有人对此有想法吗?
谢谢你的帮助!

@Override
public int onStartCommand(Intent intent, int flags, int startId) {

    PackageManager packageManager = getPackageManager();
    List<ResolveInfo> allApps = packageManager.queryIntentServices(intent, 0);
    for (ResolveInfo resolveInfo : allApps) {
        Log.d("Labels", (String) resolveInfo.loadLabel(packageManager));
    }

    return super.onStartCommand(intent, flags, startId);
}

这就是我如何从活动中调用这项服务

Intent intent = new Intent(getApplicationContext(),MyService.class);
    intent.setAction(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_LAUNCHER);

    startService(intent);

这是清单文件。

<service android:name=".MyService"
         android:permission="android.permission.QUERY_ALL_PACKAGES">
         <intent-filter>
             <action android:name="android.intent.action.MAIN" />

             <category android:name="android.intent.category.LAUNCHER" />

         </intent-filter>

     </service>

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题