Bonjour a tout, voilà, j'ai essayer de créer par moi même (débutant) une application android qui permet de restreindre le temps d'utilisation des applications. J'ai créer une class minuteur avec dedans, un code PackageManager qui me permet d'avoir la liste des applications et le code minuteur.

Je voudrais quand on veut ouvrir une application via à la liste (PackageManager) le temps se décompte (minuteur) et une fois le temps terminer cela ferme l'application qu'on a ouvert et bloque l'accès au application tant qu'il n'y a pas de temps de remis.

Sauf que je sèche sur cette partie là. Merci a vous qui jetterais un coup d'oeil sur mon problème. Voici mes deux bouts de mon code.

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
// Code minuteur
 @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.startTimer:
                //If CountDownTimer is null then start timer
                if (countDownTimer == null) {
                    String getMinutes = minutes.getText().toString();//Get minutes from edittexf
                    //Check validation over edittext
                    if (!getMinutes.equals("") && getMinutes.length() > 0) {
                        int noOfMinutes = Integer.parseInt(getMinutes) * 60 * 1000;//Convert minutes into milliseconds
 
                        //start countdown
                        startTimer(noOfMinutes);
 
                        //Change Text
                        startTimer.setText(getString(R.string.stop_timer));
 
                    } else
                        Toast.makeText(Minuteur.this, "s'il vous plait entrer un nombre", Toast.LENGTH_SHORT).show();//Display toast if edittext is empty
                } else {
                    //Else stop timer and change text
                    stopCountdown();
                    startTimer.setText(getString(R.string.start_timer));
                }
                break;
            case R.id.resetTimer:
                stopCountdown();//stop count down
                startTimer.setText(getString(R.string.start_timer));//Change text to Start Timer
                countdownTimerText.setText(getString(R.string.timer));//Change Timer text
                break;
        }
    }
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
// Code PackageManager
@Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        super.onListItemClick(l, v, position, id);
 
        ApplicationInfo app = applist.get(position);
        try {
            Intent intent = packageManager
                    .getLaunchIntentForPackage(app.packageName);
 
            if (null != intent) {
 
                //Démarrage application
                startActivity(intent);
            }
        } catch (ActivityNotFoundException e) {
            Toast.makeText(Minuteur.this, e.getMessage(),
                    Toast.LENGTH_LONG).show();
        } catch (Exception e) {
            Toast.makeText(Minuteur.this, e.getMessage(),
                    Toast.LENGTH_LONG).show();
        }
    }