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
}
ich dieses way.but bin mit, wenn, wie im Hintergrund wissen, meine Anwendung Admin deaktivieren ist. – Harshid
onDisabled wird aufgerufen, auch wenn Ihre App im Hintergrund läuft oder überhaupt nicht läuft. Du kannst den Status in sharedPreferences speichern. – malimo
hey @malimo Wie kann ich meinen Geräte-Admin kennen, wenn meine App nicht im aktiven Zustand ist? – Harshid