系统应用:一键锁屏

自己写了一个一键锁屏的程序,还是遇到了很多的BUG的,在此记录下。
MainActivity.java:

package com.chinachip.onekeylock;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.PowerManager;
import android.os.SystemClock;
import android.os.Process;
import android.util.Log;

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
      pm.goToSleep(SystemClock.uptimeMillis());
      Process.killProcess(Process.myPid());   //必须加此句,否则闪屏
    }
}

Manifest.mk文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.chinachip.onekeylock"
    android:sharedUserId="android.uid.system"     //系统权限
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="21" />
    <permission android:name="android.permission.DEVICE_POWER"></permission>    //灭屏权限

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.NoDisplay" >  //必须用此theme,否则闪屏
        <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>
    </application>

</manifest>

Android.mk文件:

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_STATIC_JAVA_LIBRARIES := libarity android-support-v4 guava
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := OneKeyLock
LOCAL_CERTIFICATE := platform      //LOCAL_SDK_VERSION := current  不能加,否则就会报找不到goToSleep()方法的错误
LOCAL_PROGUARD_ENABLED := full
LOCAL_PROGUARD_FLAGS := -include $(LOCAL_PATH)/proguard.flags
#LOCAL_PRIVILEGED_MODULE := true //加入此句就编译进priv-app里面,默认编译到app里面
#LOCAL_DEX_PREOPT := false      //是否解压出apk的odex文件,默认解压
include $(BUILD_PACKAGE)
# Use the folloing include to make our test apk.
include $(call all-makefiles-under,$(LOCAL_PATH))



猜你喜欢

转载自blog.csdn.net/lmpt90/article/details/53382303