国产91精品在线播放,欧美精品在线免费,日韩中文字幕在线有码视频网

上海校區(qū)切換校區(qū)
圖標(biāo)

學(xué)習(xí)文章

當(dāng)前位置:首頁 > >學(xué)習(xí)文章 > >

{Android培訓(xùn)}實(shí)現(xiàn)一鍵鎖屏程序

發(fā)布時間: 2017-06-16 15:22:16

據(jù)不完全統(tǒng)計,現(xiàn)在市面上所有的Android手機(jī)都用電源鍵來手動鎖屏。一天之內(nèi)手動鎖屏的次數(shù)絕對不少于30次。如果都用電源鍵來進(jìn)行的話,那么電源鍵的使用壽命一定不會長久。雖然現(xiàn)在有一些桌面軟件都集成了一鍵鎖屏,但是要安裝這些軟件就必須安裝它們的其他組件,這點(diǎn)很不爽,因?yàn)樗鼈儠詣痈禄蛘咴诤笈_運(yùn)行一些我不想要的東西。所以騰科小編決定自己寫一個鎖屏程序。經(jīng)過在android開發(fā)文檔里面的查找,小編發(fā)現(xiàn)從android 2.2開始,API里面就包含了一個lockNow方法(android.app.admin.DevicePolicyManager包中),接下來,讓我們一起看看如何實(shí)現(xiàn)吧。

一、案例代碼結(jié)構(gòu)

                                        

二、代碼步驟

1.編寫MainActivity

package com.example.lockscreen;

import android.app.Activity;

import android.app.admin.DevicePolicyManager;

import android.os.Bundle;

import android.view.View;

public class MainActivity extends Activity {

   private DevicePolicyManager deviceManager;

   @Override

   protected void onCreate(Bundle savedInstanceState) {

          super.onCreate(savedInstanceState);

          setContentView(R.layout.activity_main);

          deviceManager = (DevicePolicyManager)getSystemService(DEVICE_POLICY_SERVICE);

   }

   public void lockScreen(View view){

          deviceManager.lockNow();

   }

}

2.編寫activity_main.xml

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

<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.example.lockscreen.MainActivity" >

    <Button

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:onClick="lockScreen"

        android:text="一鍵鎖屏" />

</RelativeLayout>

3.編寫LockScreenReceiver

package com.example.receiver;

import android.app.admin.DeviceAdminReceiver;

import android.content.Context;

import android.content.Intent;

public class LockScreenReceiver extends DeviceAdminReceiver {

   @Override

   public void onReceive(Context context, Intent intent) {

          // TODO Auto-generated method stub

          super.onReceive(context, intent);

   }

}

4.編寫AndroidManifest.xml

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

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

    package="com.example.lockscreen"

    android:versionCode="1"

    android:versionName="1.0" >

    <uses-sdk

        android:minSdkVersion="14"

        android:targetSdkVersion="21" />

    <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="com.example.receiver.LockScreenReceiver"

            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>

          三、激活一鍵鎖屏

                

 

          四、使用代碼激活管理員設(shè)備

package com.example.lockscreen;

import android.app.Activity;

import android.app.admin.DevicePolicyManager;

import android.content.ComponentName;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import com.example.receiver.LockScreenReceiver;

public class MainActivity extends Activity {

  private DevicePolicyManager deviceManager;

  @Override

  protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        deviceManager = (DevicePolicyManager)getSystemService(DEVICE_POLICY_SERVICE);

  }

  public void lockScreen(View view){

        ComponentName who = new ComponentName(this, LockScreenReceiver.class);

        if(deviceManager.isAdminActive(who)){

              deviceManager.lockNow();

        }else{

              openAdminDevice(who);

        }

  }

  private void openAdminDevice(ComponentName who) {

        // TODO Auto-generated method stub

        // Launch the activity to have the user enable our admin.

        //激活管理員設(shè)備意圖

        Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);

        //激活組件名

        intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, who);

        //激活說明

        intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,"激活我可以一鍵鎖屏");

        startActivity(intent);

  }

}

怎么樣,學(xué)會了嗎?如果你有更好的辦法,歡迎你訪問騰科官網(wǎng)(http://sh.togogo.net)發(fā)表您的觀點(diǎn)。

 

 

  

上一篇: {甲骨文 Oracle}EXPDP報錯ORA-39171、ORA-01691解決方法

下一篇: {H5開發(fā)}組件tab選項(xiàng)卡

在線咨詢 ×

您好,請問有什么可以幫您?我們將竭誠提供最優(yōu)質(zhì)服務(wù)!

<menuitem id="vlare"></menuitem>

    <ul id="vlare"><rp id="vlare"><optgroup id="vlare"></optgroup></rp></ul>

  • 主站蜘蛛池模板: 木兰县| 丰原市| 福州市| 西畴县| 合水县| 灵寿县| 师宗县| 白朗县| 台东县| 高尔夫| 遂宁市| 武乡县| 新巴尔虎左旗| 高阳县| 闵行区| 南皮县| 广河县| 平潭县| 斗六市| 巨野县| 佛教| 吉安县| 南开区| 安化县| 和硕县| 长春市| 连城县| 江川县| 罗城| 沽源县| 尚义县| 岢岚县| 教育| 迭部县| 庆阳市| 西安市| 恩施市| 根河市| 视频| 赣州市| 华亭县|