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だからこんなに丁寧だけど.
すでに, 他のアプリで抜かれててもおかしくない, ようにも思ったり...
コメントを投稿するにはログインしてください。