2013-07-30 7 views
6

私はmy device as a adminの仕事をする作成アプリですグレート私のアプリケーションが管理者であるかどうかを知る方法

しかし、私はトリガーいくつかのメッセージApplication uninstall from device.

  1. ユーザーremove from adminをしたいです。私はアンドロイド作り付けのadminアプリケーションのデモを使用しています私のapp Device admin is checked or not?

かどうかを知る方法

  • お願いします。

  • 答えて

    9
    あなたは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 
    } 
    
    +0

    は私がこのway.butを使用しています。 – Harshid

    +0

    onDisabledは、アプリがバックグラウンドであっても、まったく実行されていなくても呼び出されます。あなたはsharedPreferencesで状態を保存することができます – malimo

    +0

    ちょっと@malimo私のアプリが実行状態でないときに私のデバイスの管理者を知る方法。 – Harshid

    関連する問題