欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

android實現(xiàn)一鍵鎖屏和一鍵卸載的方法實例

 更新時間:2018年05月08日 08:38:01   作者:Hacker_Guo  
這篇文章主要給大家介紹了關(guān)于android如何實現(xiàn)一鍵鎖屏和一鍵卸載的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。

前言

本文主要介紹了關(guān)于android實現(xiàn)一鍵鎖屏和一鍵卸載的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),這兩個功能也是大家在開發(fā)中會遇到的兩個需求,下面話不多說了,來一起看看詳細(xì)的介紹吧。

一.設(shè)備管理器操作步驟

1.創(chuàng)建類DeviceAdminReceiver的子類

如:com.itheima62.lockscreen.DeviceAdminSample

2.在清單文件中配置廣播接收者

<receiver
  android:name="com.itheima62.lockscreen.DeviceAdminSample"
  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>

3.配置字符串相關(guān)信息

 <string name="activity_sample_device_admin">設(shè)備管理員</string>
<string name="sample_device_admin">管理員</string>
<string name="sample_device_admin_description">開啟設(shè)備管理員,不開啟扣2000塊</string>

4.在res目錄下創(chuàng)建xml文件夾,在該文件夾下創(chuàng)建device_admin_sample.xml文件,內(nèi)容:

 <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>

5.在代碼中創(chuàng)建設(shè)備管理器和組件

dpm = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE);
 ComponentName who = new ComponentName(this, DeviceAdminSample.class);

6.寫功能

dpm.lockNow();一鍵鎖屏

二.源代碼

創(chuàng)建類DeviceAdminReceiver的子類

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)
 { 
  //如果沒有激活設(shè)備管理員,提醒給用戶做事
  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);//卸載用戶apk的界面
 }
}

布局文件

MainActivity.xml

<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:background="#00000000">
</RelativeLayout>

RemoveActivity.xml

<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:background="#00000000"
 >
</RelativeLayout>

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="com.example.suoping"
 android:versionCode="1"
 android:versionName="1.0" >
 <uses-sdk
  android:minSdkVersion="8"
  android:targetSdkVersion="18" />

 <application
  android:allowBackup="true"
  android:icon="@drawable/ic_launcher"
  android:theme="@style/AppTheme" >
  <activity
   android:name="com.example.suoping.MainActivity"
   android:label="一鍵鎖屏" >
   <intent-filter>
    <action android:name="android.intent.action.MAIN" />

    <category android:name="android.intent.category.LAUNCHER" />
   </intent-filter>
  </activity>
   <activity
   android:name="com.example.suoping.RemoveActivity"
   android:label="一鍵卸載" >
   <intent-filter>
    <action android:name="android.intent.action.MAIN" />

    <category android:name="android.intent.category.LAUNCHER" />
   </intent-filter>
  </activity>

  <receiver
   android:name="com.example.suoping.DeviceAdminSample"
   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>

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>

strings.xml

<resources>
 <string name="app_name">一鍵鎖屏</string>
 <string name="action_settings">Settings</string>
 <string name="hello_world">Hello world!</string>
 <string name="activity_sample_device_admin">設(shè)備管理員</string>
 <string name="sample_device_admin">管理員</string>
 <string name="sample_device_admin_description">開啟設(shè)備管理員,不開啟扣2000塊</string>
</resources>

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • Android高級UI特效仿直播點贊動畫效果

    Android高級UI特效仿直播點贊動畫效果

    這篇文章主要介紹了Android高級UI特效仿直播點贊動畫效果,最近比較火的抖音快手直播視頻都有這樣的效果,下面腳本之家小編給大家?guī)韆ndroid 仿直播點贊效果的實現(xiàn)代碼,需要的朋友參考下吧
    2018-03-03
  • Android實現(xiàn)View滑動的幾種方式

    Android實現(xiàn)View滑動的幾種方式

    Android中的View類是所有UI控件的基類(Base class),也就是說我們平時所有到的各種UI控件,比如Button、ImagView等等都繼承自View類。這篇文章主要為大家詳細(xì)介紹了Android實現(xiàn)View滑動的幾種方式,需要的朋友可以參考下
    2016-04-04
  • Android編程之匿名內(nèi)部類與回調(diào)函數(shù)用法分析

    Android編程之匿名內(nèi)部類與回調(diào)函數(shù)用法分析

    這篇文章主要介紹了Android編程之匿名內(nèi)部類與回調(diào)函數(shù)用法,結(jié)合實例形式分析了Android編程中所涉及的java匿名內(nèi)部類與回調(diào)函數(shù)的概念、定義、使用方法與相關(guān)注意事項,需要的朋友可以參考下
    2016-10-10
  • Android視頻播放器屏幕左側(cè)邊隨手指上下滑動亮度調(diào)節(jié)功能的原理實現(xiàn)

    Android視頻播放器屏幕左側(cè)邊隨手指上下滑動亮度調(diào)節(jié)功能的原理實現(xiàn)

    這篇文章主要介紹了Android視頻播放器屏幕左側(cè)邊隨手指上下滑動亮度調(diào)節(jié)功能的原理實現(xiàn),非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-02-02
  • android自定義Toast設(shè)定顯示時間

    android自定義Toast設(shè)定顯示時間

    這篇文章主要為大家詳細(xì)介紹了android自定義Toast設(shè)定顯示時間,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Android中Progress的簡單實例

    Android中Progress的簡單實例

    這篇文章主要介紹了Android中Progress的簡單實例的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • Android編程設(shè)計模式之中介者模式詳解

    Android編程設(shè)計模式之中介者模式詳解

    這篇文章主要介紹了Android編程設(shè)計模式之中介者模式,結(jié)合實例形式詳細(xì)分析了Android中介者模式的概念、原理、使用場景、用法及相關(guān)操作注意事項,需要的朋友可以參考下
    2017-12-12
  • Android 開發(fā)隱藏標(biāo)題欄的方法總結(jié)

    Android 開發(fā)隱藏標(biāo)題欄的方法總結(jié)

    這篇文章主要介紹了android 開發(fā)隱藏標(biāo)題欄的方法總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Android中Service與Activity之間通信的幾種方式

    Android中Service與Activity之間通信的幾種方式

    本篇文章主要介紹了Android中Service與Activity之間通信的幾種方式,Activity主要負(fù)責(zé)前臺頁面的展示,Service主要負(fù)責(zé)需要長期運行的任務(wù),具有一定的參考價值,有興趣的可以了解一下。
    2017-02-02
  • Android實現(xiàn)桌面快捷方式實例代碼

    Android實現(xiàn)桌面快捷方式實例代碼

    大家好,本篇文章主要講的是Android實現(xiàn)桌面快捷方式實例代碼,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12

最新評論