日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android开发之实现锁屏功能

發布時間:2024/1/17 Android 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android开发之实现锁屏功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

鎖屏須要引入設備超級管理員。在文檔Android開發文檔的Administration中有具體的說明。

Android設備管理系統功能和控制訪問。

主要有一下幾個步驟:

1 ?創建廣播接收者,實現DeviceAdminReceiver

package com.andy.lockscreen;import android.app.admin.DeviceAdminReceiver;/** * @author Zhang,Tianyou* @version 2014年11月20日 下午9:51:42* * 特殊的廣播接受者 接收 管理員權限廣播*/public class MyAdmin extends DeviceAdminReceiver{}
2 在清單文件里注冊該廣播(不同普通的廣播,需依照說明格式):

<?

xml version="1.0" encoding="utf-8"?

> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.andy.lockscreen" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name=".MyAdmin" android:description="@string/sample_device_admin_description" android:label="@string/sample_device_admin" android:permission="android.permission.BIND_DEVICE_ADMIN" > <meta-data android:name="android.app.device_admin" android:resource="@xml/device_admin_sample" /> <intent-filter> <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" /> </intent-filter> </receiver> </application> </manifest>


3 在res下創建xml目錄。創建相應的xml文件device_admin_sample.xml

<device-admin xmlns:android="http://schemas.android.com/apk/res/android"><uses-policies><limit-password /><watch-login /><reset-password /><force-lock /><wipe-data /><expire-password /><encrypted-storage /><disable-camera /></uses-policies> </device-admin>
4 在values文件下string.xml加入

??

<string name="sample_device_admin_description">用戶管理員的描寫敘述信息</string><string name="sample_device_admin">設置管理權限</string>
5 界面文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context="com.andy.lockscreen.MainActivity" ><Buttonandroid:onClick="openAdmin"android:layout_alignParentTop="true"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="開啟管理員權限" /><Buttonandroid:onClick="lockcreen"android:layout_centerInParent="true"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="一鍵鎖屏" /><Buttonandroid:onClick="uninstall"android:layout_alignParentBottom="true"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="卸載鎖屏" /> </RelativeLayout>


6 實現鎖屏和開啟設備管理員權限,卸載文件

package com.andy.lockscreen;import android.app.Activity; import android.app.admin.DevicePolicyManager; import android.content.ComponentName; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.Toast;public class MainActivity extends Activity {/*** 設備策略服務*/private DevicePolicyManager dpm;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.activity_main);dpm = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE);}/*** 鎖屏* * @param view*/public void lockcreen(View view) {ComponentName who = new ComponentName(this, MyAdmin.class);// 推斷是否已經開啟管理員權限if (dpm.isAdminActive(who)) {// 鎖屏dpm.lockNow();// 設置屏幕password 第一個是password 第二個是附加參數dpm.resetPassword("123", 0);// 清楚數據// WIPE_EXTERNAL_STORAGE 清楚sdcard的數據// 0 恢復出廠設置//dpm.wipeData(DevicePolicyManager.WIPE_EXTERNAL_STORAGE);} else {// 假設為未開啟 提示Toast.makeText(MainActivity.this, "請先開啟管理員權限!", Toast.LENGTH_SHORT).show();}}/*** 代碼開啟管理權限* * @param view*/public void openAdmin(View view) {// 創建一個Intent 加入設備管理員Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);// 激活MyAdmin廣播接收著ComponentName who = new ComponentName(this, MyAdmin.class);intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, who);// 說明用戶開啟管理員權限的優點intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,"開啟能夠一鍵鎖屏,防止勿碰");startActivity(intent);Toast.makeText(MainActivity.this, "管理員權限已開啟!", Toast.LENGTH_SHORT).show();}/*** 卸載當前的軟件 設備管理數據特殊應用 所以不能普通卸載*/public void uninstall(View view) {// 1. 先清除管理員權限ComponentName who = new ComponentName(this,MyAdmin.class);dpm.removeActiveAdmin(who);// 2. 普通應用的卸載Intent intent = new Intent();intent.setAction("android.intent.action.VIEW");intent.addCategory("android.intent.category.DEFAULT");intent.setData(Uri.parse("package:"+getPackageName()));startActivity(intent);}}


總結

以上是生活随笔為你收集整理的Android开发之实现锁屏功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。