前言
專(zhuān)注于為中小企業(yè)提供成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)荊門(mén)免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上1000家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
本文主要介紹了關(guān)于android實(shí)現(xiàn)一鍵鎖屏和一鍵卸載的相關(guān)內(nèi)容,分享出來(lái)供大家參考學(xué)習(xí),這兩個(gè)功能也是大家在開(kāi)發(fā)中會(huì)遇到的兩個(gè)需求,下面話(huà)不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧。
一.設(shè)備管理器操作步驟
1.創(chuàng)建類(lèi)DeviceAdminReceiver的子類(lèi)
如:com.itheima62.lockscreen.DeviceAdminSample
2.在清單文件中配置廣播接收者
3.配置字符串相關(guān)信息
設(shè)備管理員 管理員 開(kāi)啟設(shè)備管理員,不開(kāi)啟扣2000塊
4.在res目錄下創(chuàng)建xml文件夾,在該文件夾下創(chuàng)建device_admin_sample.xml文件,內(nèi)容:
5.在代碼中創(chuàng)建設(shè)備管理器和組件
dpm = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE); ComponentName who = new ComponentName(this, DeviceAdminSample.class);
6.寫(xiě)功能
dpm.lockNow();一鍵鎖屏
二.源代碼
創(chuàng)建類(lèi)DeviceAdminReceiver的子類(lèi)
package com.example.suoping; import android.app.admin.DeviceAdminReceiver; public class DeviceAdminSample extends DeviceAdminReceiver { }
MainActivity
package com.example.suoping; import android.app.Activity; import android.app.admin.DevicePolicyManager; import android.content.ComponentName; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.View; public class MainActivity extends Activity { private DevicePolicyManager dpm; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.activity_main); dpm = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE); lockScreen(null); } /** * @param v * 一鍵鎖屏 */ public void lockScreen(View v) { //如果沒(méi)有激活設(shè)備管理員,提醒給用戶(hù)做事 ComponentName who = new ComponentName(this, DeviceAdminSample.class); if (dpm.isAdminActive(who)) { dpm.lockNow();//一鍵鎖屏 finish(); } else { Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, who); intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "設(shè)備管理器,,,,,,,,,,,,,,,,"); startActivityForResult(intent, 1); } } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } }
RemoveActivity
package com.example.suoping; 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; public class RemoveActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); remove(null); } /** * 一鍵卸載 * @param v */ public void remove(View v) { // 取消激活設(shè)備管理 DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE); ComponentName who = new ComponentName(this, DeviceAdminSample.class); dpm.removeActiveAdmin(who);//取消激活管理設(shè)備 //卸載 Intent remove = new Intent("android.intent.action.DELETE"); remove.addCategory("android.intent.category.DEFAULT"); remove.setData(Uri.parse("package:" + getPackageName())); startActivity(remove);//卸載用戶(hù)apk的界面 } }
布局文件
MainActivity.xml
RemoveActivity.xml
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
device_admin_sample.xml
strings.xml
一鍵鎖屏 Settings Hello world! 設(shè)備管理員 管理員 開(kāi)啟設(shè)備管理員,不開(kāi)啟扣2000塊
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)創(chuàng)新互聯(lián)的支持。