あなたはDeviceAdminReceiverを拡張する必要があります
とどこでもあなたのアプリで
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
}
}
:どのように私のアプリケーション管理者が無効化され、バックグラウンドで知っているとき
DevicePolicyManager mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);
ComponentName mAdminName = new ComponentName(this, DeviceAdmin.class);
if(mDPM != null &&mDPM.isAdminActive(mAdminName)) {
// admin active
}
は私がこのway.butを使用しています。 – Harshid
onDisabledは、アプリがバックグラウンドであっても、まったく実行されていなくても呼び出されます。あなたはsharedPreferencesで状態を保存することができます – malimo
ちょっと@malimo私のアプリが実行状態でないときに私のデバイスの管理者を知る方法。 – Harshid