關於DevicePolicyManager申請系統管理許可權

來源:互聯網
上載者:User

自從安卓

本篇通過大家熟悉的“一鍵鎖屏”的小項目實現來介紹裝置管理

 

一鍵鎖屏的實現原理:當按鎖屏鍵的時候,會發出一個廣播,當使用者介面接收到一個廣播的時候就可以實現鎖屏。而廣播的發送是我們調用DevicePolicyManager

 

鎖屏需要將應用程式提升為系統管理員的許可權,如果當前的應用具備系統管理員的許可權,則直接調用

 

將應用程式具備系統管理員許可權的做法:寫一個廣播的接收者,讓該廣播接受者去申請系統管理員的許可權,讓作業系統給廣播接收者授權(其實就是去啟用系統的授權組件),給使用者自己啟用。

實現流程:

 

關鍵的類:

1.DeviceAdminReceiver:裝置管理接收者,該類提供了系統發出的意圖動作。你的裝置管理應用程式必須包含一個DeviceAdminReceiver 的子類。代表著手機上的裝置管理員。

2.DevicePolicyManager  裝置管理員

以下是根據流程寫出的代碼:

  在MainActivity 主類中:

   MainActivity                                                        manger=                                    componentName= ComponentName(, MyAdmin.                                                                          active=                                }                          Intent intent =                            intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "----這是一鍵鎖屏啟用介面-----"             startActivityForResult(intent, 0                                                                     }

定義並聲明你的策略:在res/xml/lock.xml中聲明所選擇的策略集,它將會被程式強行實行。如果一個程式嘗試調用在XML中沒有對應策略的方法,

這將會在運行時導致一個*SecurityException*異常。如果程式打算管理其他策略,那麼其他許可權,例如'_強制鎖(force-lock)。

如下程式碼片段在res/xml/lock.xml中聲明了密碼限制策略:

                                      

在 Android manifest(資訊清單檔) 中引用XML策略聲明:

                                                                                                                       

 

整個Android manifest(資訊清單檔) :

                                                                                                                                                                                                                         

啟用裝置管理員 

  好了。以上代碼部署在模擬器中運行後,點擊程式表徵圖,將來到使用者啟用視圖

如果使用者選擇"Activate",程式就會成為裝置管理員並且可以開始配置及強制執行策略。再次運行程式將會實現一鍵鎖屏。

如果使用者選擇"Cancle" 將會取消。

參考Google的API:

http://developer.android.com/guide/topics/admin/device-admin.html#lock

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.