編輯:關於Android編程
1,創建類DeviceAdminReceiver的子類
如:com.itydl.lockscreen.DeviceAdminSample
2,在清單文件中配置廣播接收者
3,配置字符串相關信息
設備管理員
管理員
開啟設備管理員,不開啟扣2000塊
4,在res目錄下創建xml文件夾,在該文件夾下創建deviceadminsample.xml文件,內容:
5,在代碼中創建設備管理器和組件
dpm = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE);
ComponentName who = new ComponentName(this, DeviceAdminSample.class);
6,寫功能
dpm.lockNow();一鍵鎖屏
上述步驟有些晦澀,看一下實際操作步驟(建議通過閱讀官網AP文檔I一步步操作):
設備管理員
管理員
開啟設備管理員,不開啟扣2000塊
刪除掉配置文件中系統自帶的activity節點信息。修改復制過來的activity標簽name為我們工程的活動名稱。
此時還是報錯,因為還有一個android:resource="@xml/device_admin_sample" 沒有配置
新建xml的文件夾,建一個device_admin_sample的文件,裡面需要配置一些內容。把官方文檔中的內容全部寫入即可。
內容如下:
解決了報錯問題。
2、按照文檔要求,新建一個class DeviceAdminSample extends DeviceAdminReceiver。這是一個服務,裡面不需要寫任何內容
記得把配置文件中活動和服務名稱修改為我們自己的。
android:name="com.itydl.lockscreen.DeviceAdminSample"
android:name="com.itydl.lockscreen.MainActivity"
3、在活動中添加如下兩行代碼:
DevicePolicyManager dmp = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE);
dmp.lockNow();//一鍵鎖屏
此時其實已經開發完畢了,但是這僅僅對於程序員有效,進入設備管理器激活這個應用;對於用戶不知道在哪激活,根本得不得體驗,所以還需要設置一鍵鎖屏的時候,加入開啟設備管理器活動的而邏輯。
具體的代碼如下:
清單文件:
package com.itydl.lockscreen; import android.os.Bundle; import android.app.Activity; import android.app.admin.DevicePolicyManager; import android.content.ComponentName; import android.content.Intent; import android.view.Menu; import android.view.View; public class MainActivity extends Activity { private DevicePolicyManager dmp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); dmp = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE); } /** * 一鍵鎖屏 * * @param v */ public void lockScreen(View v) { // 如果沒有激活設備管理員,提醒用戶做事 ComponentName who = new ComponentName(this, DeviceAdminSample.class); if (dmp.isAdminActive(who)) {// true表示已經激活 dmp.lockNow();// 一鍵鎖屏 } else { /**根據官方文檔,寫出啟動設備管理器的活動 * // Launch the activity to have the user enable our admin. Intent * intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); * intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, * mDeviceAdminSample); * intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, * mActivity.getString(R.string.add_admin_extra_app_text)); * startActivityForResult(intent, REQUEST_CODE_ENABLE_ADMIN); */ Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, who); intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "設備管理器。。。"); startActivityForResult(intent, 1); } } }
本文實例講述了Android使用廣播(BroadCast)實現強制下線的方法。分享給大家供大家參考,具體如下:使用廣播簡單模擬強制下線功能。1、新建活動管理類新建Acti
昨天晚上我看了Google training裡面Manage the Activity Lifecycle這一節,看了以後學到很多以前看書,看視頻都沒有了解過的東西,Go
PS:便宜的服務器可是會不定時的坑你一把。今天在修改app的一些交互以及重構代碼。一切都是那麼順利,啪啪啪,runing,測試沒問題,再啪啪啪。。。突然,測試上傳頭像的時
Android中的消息處理機制大量依賴於Handler。每個Handler都有對應的Looper,用於不斷地從對應的MessageQueue中取出消息處理。一直以來,覺得