2013-07-30 61 views
6

我是創建應用程序,它使my device as a admin工作偉大如何知道我的應用程序管理員是否

但我想觸發一些消息當我Application uninstall from device.

  1. 當用戶remove from admin

  2. 如何知道我的app Device admin is checked or not?

我使用的Android內置的管理應用程序的演示。

請給我一些想法。

回答

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時如何知道我的後臺管理應用爲disable。 – Harshid

+0

即使您的應用程序處於後臺或根本沒有運行,onDisabled也會被調用。你可以將狀態保存在sharedPreferences – malimo

+0

嘿@malimo當我的應用程序不處於運行狀態時,如何知道我的設備管理員。 – Harshid

相關問題