Twitter のように端末にインストールしているアプリの一覧を取得する

Twitterが.

Twitterが、公式アプリでユーザーの端末内のアプリ一覧情報を収集する「アプリリスト」を次期アップデートで有効にする。

Twitterヘルプセンター___Twitterのアプリリストとは

Twitter、端末にインストールされたアプリの一覧収集機能を追加 - ITmedia ニュース

インストールしているアプリ情報を取得するのにパーミッションは要らない.

// アイコンから起動できるアプリのみ取得
Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
PackageManager pm = context.getPackageManager();
List<ResolveInfo> packs = pm.queryIntentActivities(intent, 0);
ResolveInfo info;
int count_packs = packs.size();
for (int i = 0; i < count_packs; i++) {
  info = packs.get(i);
  ActivityInfo activityInfo = info.activityInfo;
  String label = activityInfo.applicationInfo.loadLabel(pm).toString();
  String packageName = activityInfo.packageName;
  String icon = "android.resource://" + packageName + "/" + activityInfo.applicationInfo.icon;
  String description = (String) p.applicationInfo.loadDescription(pm);
  String versionName = p.versionName;
  String versionCode = ((int)p.versionCode) + "";

  Log.d("FetchInstalledApps", label + " " + packageName + " " + icon);
}

Intent.CATEGORY_LAUCHER を変えたりしながらいろんな条件で取得できる.

肝は「ActivityInfo」.

ActivityInfo | Android Developers

前述, Twitter は以下のようにアナウンスしている.

情報をTwitterに提供したくない場合は設定で無効にする必要がある。

お行儀の良い大手Twitterだからこんなに丁寧だけど.

すでに, 他のアプリで抜かれててもおかしくない, ようにも思ったり...

あなたのAndroidの個人情報がアプリ開発者によって抜き取り可能かをチェックする方法

Twitterヘルプセンター | Twitterのアプリリストとは


実際にLINEはしれっと何を通信しているのか見ようとする。

いわゆる、インフラというか、必須な通信手段になってきてますし、LINE。

LINE

LINE大爆発! ユーザー1億人突破へ | 東洋経済オンライン 

で、30キロ痩せてホソエモンとか呼ばれてます、このひとはこんなこといってたり。

抜き取られて困る個人情報なんて、私はないから平気。 RT @harumarin523523: @takapon_jp 自分もLINE使ってて、確かにとても便利だとおもっているんですが、LINEの個人情報抜き取り云々についてはどういうお考えをお持ちになってますか?

抜き取られて困る個人情報なんてないから平気、遅ればせながらLINEデビューしたホリエモンがLINE批判を百人斬り : 市況かぶ全力2階建 

で、「個人情報」というのがなんなのか、メールアドレスなのか、クレジットカード番号なのか、よくわからないのですが、しれっと見えない所でどんな通信をしてるか見てみてからそれぞれ個人が決めればいいようにも思ったりします。

きっと、世間で言われてる「個人情報の抜き取り」の「その人が外部に知られたくない端末内の情報」てのは、人それぞれなんだろうとか。

で、一体なにを通信しているかは、プレーンなテキストとしては見えないと思われますが、見てみようかと。

続きを読む >>