2013-07-30 15 views
6

Ich bin Kreation App, die machen my device as a admin Arbeit Great.Wie zu wissen, ob meine Anwendung admin oder nicht

Aber ich mag Auslöser einig Nachricht wenn meine Application uninstall from device.

  1. wenn Benutzer remove from admin.

  2. Wie kann man wissen, ob mein app Device admin is checked or not?

I android eingebaute Admin-Demo verwenden werde.

Bitte geben Sie mir eine Idee.

Antwort

9

Sie DeviceAdminReceiver zu verlängern haben und

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 
    } 
} 

überall in Ihrer Anwendung:

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

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

ich dieses way.but bin mit, wenn, wie im Hintergrund wissen, meine Anwendung Admin deaktivieren ist. – Harshid

+0

onDisabled wird aufgerufen, auch wenn Ihre App im Hintergrund läuft oder überhaupt nicht läuft. Du kannst den Status in sharedPreferences speichern. – malimo

+0

hey @malimo Wie kann ich meinen Geräte-Admin kennen, wenn meine App nicht im aktiven Zustand ist? – Harshid

Verwandte Themen