2013-07-30 5 views
6

Je suis application de création qui font my device as a admin travail Great.Comment savoir si mon application administrateur ou non

Mais je veux déclencheur quelque message quand mon Application uninstall from device.

  1. lorsque l'utilisateur remove from admin.

  2. Comment savoir si mon app Device admin is checked or not?

J'utilise l'application d'administration Android intégré démo.

S'il vous plaît donnez-moi une idée.

Répondre

9

Vous devrez étendre DeviceAdminReceiver et

public class DeviceAdmin extends DeviceAdminReceiver { 

    @Override 
    public void onEnabled(Context context, Intent intent) { 
     Log.i(this, "admin_receiver_status_enabled"); 
     // admin rights 
     App.getPreferences().edit().putBoolean(App.ADMIN_ENABLED, true).commit(); //App.getPreferences() returns the sharedPreferences 

    } 

    @Override 
    public CharSequence onDisableRequested(Context context, Intent intent) { 
     return "admin_receiver_status_disable_warning"; 
    } 

    @Override 
    public void onDisabled(Context context, Intent intent) { 
     Log.info(this, "admin_receiver_status_disabled"); 
     // admin rights removed 
     App.getPreferences().edit().putBoolean(App.ADMIN_ENABLED, false).commit(); //App.getPreferences() returns the sharedPreferences 
    } 
} 

partout dans votre application:

DevicePolicyManager mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE); 
ComponentName mAdminName = new ComponentName(this, DeviceAdmin.class); 

if(mDPM != null &&mDPM.isAdminActive(mAdminName)) { 
    // admin active 
} 
+0

J'utilise ce way.but quand comment savoir en arrière-plan mon application admin est désactivé. – Harshid

+0

onDisabled sera appelé, même si votre application est en arrière-plan ou ne fonctionne pas du tout. vous pouvez enregistrer l'état dans sharedPreferences – malimo

+0

hey @malimo comment connaître l'administrateur de mon appareil lorsque mon application n'est pas en cours d'exécution. – Harshid

Questions connexes