IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants graphiques Android Discussion :

Afficher la liste des permissions d'une application avec un listview(passage d'une activité à une autre)


Sujet :

Composants graphiques Android

  1. #1
    Membre à l'essai
    Femme Profil pro
    uvhc
    Inscrit en
    Mai 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : uvhc

    Informations forums :
    Inscription : Mai 2013
    Messages : 12
    Points : 12
    Points
    12
    Par défaut Afficher la liste des permissions d'une application avec un listview(passage d'une activité à une autre)
    Bonjour,

    J'ai parcouru bon nombre de tutos et forum qui pourraient m'aider mais je stagne. J'ai deux activités, la première (qui fonctionne) affiche grâce à une ListView l'ensemble des applications téléchargées sur le téléphone. Je souhaiterais après que lorsque l'utilisateur clique sur une application, afficher la liste de toutes les permissions accordées à cette application. Je souhaite faire cette affichage dans une ListView parce que de chaque permission la finalité serait d'aboutir à une autre activité. (Jespère que je suis compréhensible).
    Mon problème est que je n'arrive pas à avoir la ListView de permissions :/
    I really need help! ca fait 4 jours que je suis dessus
    Merci d'avance pour votre précieuse aide

    Première activité
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    import android.app.Activity;
    import android.content.Intent;
    import android.content.pm.ApplicationInfo;
    import android.content.pm.PackageInfo;
    import android.content.pm.PackageManager;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.ListView;
     
    import java.util.ArrayList;
    import java.util.List;
     
     
     
    /**
     * Created by awa.camara on 21/06/2016.
     */
    public class ListApplicationsActivity extends Activity implements AdapterView.OnItemClickListener {
        PackageManager packageManager;
        ListView apkList;
        private List<ApplicationInfo> applist = null;
     
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.id_list_applications);
     
            packageManager = getPackageManager();
            List<PackageInfo> packageList = packageManager
                    .getInstalledPackages(PackageManager.GET_PERMISSIONS);
     
            List<PackageInfo> packageList1 = new ArrayList<PackageInfo>();
     
    		/*To filter out System apps*/
            for(PackageInfo pi : packageList) {
                boolean b = isSystemPackage(pi);
                if(!b) {
                    packageList1.add(pi);
                }
            }
            apkList = (ListView) findViewById(R.id.applist);
            apkList.setAdapter(new ApplicationsAdapter(this, packageList1, packageManager));
     
     
            apkList.setOnItemClickListener(this);
        }
     
        private boolean isSystemPackage(PackageInfo pkgInfo) {
            return ((pkgInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) ? true
                    : false;
        }
     
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position,
                                long row) {
            PackageInfo packageInfo = (PackageInfo) parent
                    .getItemAtPosition(position);
            AppData appData = (AppData) getApplicationContext();
            appData.setPackageInfo(packageInfo);
     
            //ApplicationInfo app = applist.get(position);
     
            Intent appInfo = new Intent(getApplicationContext(), PermissionsActivity.class);
            appInfo.putExtra("pos",position);
            startActivity(appInfo);
        }
     
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.menu_main, menu);
            return true;
        }
    }
    Deuxième activité d'affichage des permissions

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    public class PermissionsActivity extends Activity{
        PackageInfo packageInfo;
        ListView permsList;
        private List<ApplicationInfo> applist;
        private PackageManager packageManager = null;
     
     
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            int position = getIntent().getIntExtra("pos",0);
            setContentView(R.layout.id_list_permissions);
            applist = checkForLaunchIntent(applist);
     
            ApplicationInfo app = applist.get(position);
            packageManager = getPackageManager();
     
     
                try {
     
                    PackageInfo packageInfo = packageManager.getPackageInfo(app.packageName, GET_PERMISSIONS);
                    String[] requestedPermissions = packageInfo.requestedPermissions;
                    for (int i =0; i < requestedPermissions.length; i++){
                        Log.d("permissionss",requestedPermissions[i]);
                    }
                    permsList = (ListView) findViewById(R.id.listPerm);
                    permsList.setAdapter(new PermissionAdapter_2(this, requestedPermissions));
     
     
                } catch (PackageManager.NameNotFoundException e) {
                    e.printStackTrace();
                }    
        }
     
     
    }

  2. #2
    Membre à l'essai
    Femme Profil pro
    uvhc
    Inscrit en
    Mai 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : uvhc

    Informations forums :
    Inscription : Mai 2013
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    J'ai finalement trouvée une solution.
    J'ai ajouté chaque élément de type TextView dans une listView !

  3. #3
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Plus qu'une ListView, j'ai l'impression qu'une ExpandableListView correspond plus à ton besoin.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Afficher la liste des PivotItems dans une colonne
    Par Camaytoc dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 26/01/2012, 22h50
  2. Réponses: 0
    Dernier message: 08/02/2011, 18h52
  3. Afficher la liste des applications installés
    Par h3llmo dans le forum Qt
    Réponses: 2
    Dernier message: 28/11/2009, 12h25
  4. Afficher la liste des connectés à une BDD
    Par GD91 dans le forum Access
    Réponses: 4
    Dernier message: 04/10/2006, 14h55
  5. Réponses: 7
    Dernier message: 21/08/2006, 13h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo