2

たとえば、Googleマーケットには「LookoutSecurity&Antivirus」という人気のあるアプリケーションがあります。

このアプリケーションは、現在地、連絡先、SMS、およびMMSデータにアクセスするすべてのアプリケーションを表示できます。

Androidでこれを行う方法の背後にある一般的な考え方を知りたいです(ソースコードを求めていません!)

このアプリケーションは、これらすべてを実行するためにroot権限を必要としないので、Android SDKが実際にこれらの機能を提供すると思いますか?

4

2 に答える 2

3

そのため、 PackageManagerと呼ばれるものがあり、ここからPackageInfoに関する情報を取得して、さらに探索し、PERMISSION_GRANTED を抽出できます。

于 2013-03-02T20:53:33.023 に答える
1

私の考えは、インストールされているすべてのパッケージ (アプリケーション) のリストを取得し、マニフェストに登録されている権限を確認することです。

これは -class を使用して行うことができます。これはPackageManager-flagで指定されたgetInstalledPackages()-methodGET_PERMISSIONSです

PackageManager manager = context.getPackageManager();
for (PackageInfo info : manager.getInstalledPackages(PackageManager.GET_PERMISSIONS){
  for (PermissionInfo perm : info.permissions){
    // Check if your requested permission is in the list
  }
}
于 2013-03-02T20:58:32.360 に答える