2010-12-08 69 views
4

Est-il possible d'obtenir les autorisations manifestes de n'importe quelle application Android installée?Comment obtenir les autorisations manifestes d'une application Android installée

+0

Voulez-vous les par programme? – Jonas

+0

Pourquoi avez-vous besoin d'autres autorisations d'application? Comment puis-je connaître les autorisations d'application des fournisseurs? afin que je puisse définir dans mon fichier manifeste pour y accéder des données –

Répondre

14

Merci pour l'astuce, il a obtenu en cours d'exécution avec:

final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null); 
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER); 
final List pkgAppsList = getPackageManager().queryIntentActivities(mainIntent, 0); 

for (Object obj : pkgAppsList) { 
    ResolveInfo resolveInfo = (ResolveInfo) obj; 
    PackageInfo packageInfo = null; 
    try { 
    packageInfo = getPackageManager().getPackageInfo(resolveInfo.activityInfo.packageName, PackageManager.GET_PERMISSIONS); 
    } catch (NameNotFoundException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
    } 

    String[] requestedPermissions = packageInfo.requestedPermissions; 
} 
2

Obtenez les paquets installés en utilisant ceci.

final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null); 
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER); 
final List pkgAppsList = context.getPackageManager().queryIntentActivities(mainIntent, 0); 

Et utilisez le nom du package pour obtenir l'info.

http://developer.android.com/reference/android/content/pm/PackageInfo.html

0

Si vous avez fichier APK SITI très simple il suffit d'ouvrir cmd du début menue et d'écrire cette ligne de commande: autorisations AAPT d D: \ dina \ app-debug.apk

prendre soin du chemin que vous écrivez alors vous pouvez obtenir la liste de toutes les autorisations dans cette application et le nom du paquet aussi comme ça

package: com.example.dinasaif.facebookintegration uses-permission: android.permission.INTERNET