2

GCM / C2DMアカウントに登録されており、データを受信するかどうかを知るために、Androidフォンにインストールされているすべてのアプリケーションを一覧表示する方法はありますか?

私は実際に私の電話でいくつかの広告を受け取ります、そして私はどのアプリケーションが私をスパムしているのか知りたいです。私は自分でいくつかのC2DMアプリケーションを作成しましたが、マニフェストにそれらの行を追加したことはわかっています。

<receiver android:name=".NotificationsReceiver" android:permission="com.google.android.c2dm.permission.SEND">
                 <intent-filter>
                      <action android:name="com.google.android.c2dm.intent.RECEIVE"></action>
                      <action android:name="com.google.android.c2dm.intent.REGISTRATION"></action>
    ...

アプリケーションのマニフェストにこれらの行が含まれているかどうかを検出できれば、それらを一覧表示できるはずです。

4

1 に答える 1

4
    PackageManager pm = context.getPackageManager();
    List<PackageInfo> packages = pm.getInstalledPackages(PackageManager.GET_PERMISSIONS);
    for (PackageInfo pi : packages)
    {
        for (String usesPermission : pi.requestedPermissions){
            if (usesPermission.equalsIgnoreCase("com.google.android.c2dm.permission.RECEIVE")){
                Log.d(TAG, "app with permission to receive push: "+pi.applicationInfo.name);
            }
        }
    }
于 2012-07-17T10:27:54.137 に答える