Android源码去除锁屏及应用程序开机自动运行不锁屏全屏显示

针对RealV210提供的源码 android_gingerbread_realv210_ver_1_2   2.3.1

设置默认锁屏时间

frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
private void loadSystemSettings(SQLiteDatabase db) {
loadIntegerSetting(stmt, Settings.System.SCREEN_OFF_TIMEOUT,
                    R.integer.def_screen_off_timeout);
frameworks/base/packages/SettingsProvider/res/values/defaults.xml
-1

以毫秒为单位,设为-1即可,重新编译Setting Provider模块
但是只是这样修改的话,启动后依旧会进入锁屏状态,解锁之后就再也不会锁屏了

开机不锁屏
frameworks/base/policy/src/com/android/internal/policy/impl/KeyguardViewMediator.java
    /**
     * External apps (like the phone app) can tell us to disable the keygaurd.
     */
    private boolean mExternallyEnabled = true;
改为false
$ source build/envsetup.sh
$ mmm frameworks/base/policy/
Install: out/target/product/generic/data/app/FrameworkPolicyTests.apk
为了打开锁屏功能,可调用函数setKeyguardEnabled()


应用程序开机自动运行

新建文件
public class AutoBoot extends BroadcastReceiver {
@Override
public void onReceive(Context arg0, Intent arg1) {
if (arg1.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
Intent helloActivityIntent = new Intent(arg0, HelloActivity.class);
helloActivityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
arg0.startActivity(helloActivityIntent);
}
}
}
修改AndroidManifest.xml
中加入(AutoBoot为上面的类名)

           
               

           

       

加入

应用程序开机不锁屏


onCreate中加入,最好在setContentView(R.layout.main)之前
getWindow().setFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD, 
        WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, 
        WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

应用程序全屏显示
在配置文件的中加入
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
应用程序部分摘自http://www.cnblogs.com/ikakawa/archive/2011/08/30/2159418.html

你可能感兴趣的:(Android)