インストールされているすべてのアプリとその詳細のリストを取得する Android 用のアプリを作成しています。私は必要なもののほとんどを手に入れます:
context.getPackageManager().getInstalledPackages(0);
私が理解できないように見えるのは、パッケージ/アプリを作成したベンダーの名前または ID を取得できる場所です。
助言がありますか?
インストールされているすべてのアプリとその詳細のリストを取得する Android 用のアプリを作成しています。私は必要なもののほとんどを手に入れます:
context.getPackageManager().getInstalledPackages(0);
私が理解できないように見えるのは、パッケージ/アプリを作成したベンダーの名前または ID を取得できる場所です。
助言がありますか?
その情報にプログラムでアクセスする方法はないと思います。実際、ベンダーの名前がapkファイル内のどこにも保存されていないと思います。マーケットで「開発者」として表示される名前は、アプリケーションをアップロードした Google アカウントに関連付けられた名前です。この値は、アプリケーション自体ではなく、Market インフラストラクチャによって保存されると思います。残念ながら、現在、マーケット データへのアクセスを許可する公開 API はありません。
実際の人間が読める名前に必ずしも関心がなく、デバイスに同じ開発者の複数のアプリケーションがあるかどうかをプログラムで判断できるようにすることだけを目的としている場合は、PackageInfo オブジェクト内の署名フィールドからこれを収集できる可能性があります。私pm.getPackageInfo(String packageName, int flags);
はこれについてほとんど経験がありませんが、間違っている可能性があります。