3

インストールされているアプリケーションとシステム アプリケーションのリストを作成したいと考えています。システムアプリとは、プリインストールアプリ(製造時にインストールされるアプリ)を意味します。このために、使用しているすべてのアプリを分類しました(ApplicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0。これはシステムアプリで、その他はインストール済みアプリです。今私の問題は、リスト項目をクリックしてこれらのアプリを起動したいということですが、連絡先、ダイヤラーなどのシステムアプリを起動できませんでした...

システムアプリをプログラムで起動する方法、または起動可能なシステムアプリを除外する方法は?

4

1 に答える 1

4

正確な答えは見つかりませんでしたが、参考になると思います

List<PackageInfo> list = packageManager.getInstalledPackages(0);
for (PackageInfo pi : list) {
 try {
    ApplicationInfo appInfo = getPackageManager() .getApplicationInfo(pi.packageName, 0);
        //check whether the app is launchable or not
    if (packageManager .getLaunchIntentForPackage(appInfo.packageName) != null) {
     //check whether the app is an installed / system app
     if ((appInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
        //system apps.........
     } else {
        //installed apps............
     }
    }

   } catch (Exception e) {}
}
于 2013-03-13T08:43:08.307 に答える