Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何锁定Android设备的屏幕大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在我的应用程序中实现屏幕锁定功能,但目前我无法让它工作.我有一个alertDialog,它将通过使用几个按钮请求用户输入.如果用户按“否”,我想锁定屏幕(无限期,不是一段时间).以编程方式锁定屏幕的最佳方法是什么?我尝试使用以下,但是,然我的对话框被解除,屏幕永远不会锁定.
KeyguardManager keyguardManager = (KeyguardManager)getSystemservice(Activity.KEYGUARD_serviCE); 
                        KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_serviCE);
                        lock.reenableKeyguard();
@H_361_4@mycode的

import android.app.Activity;
import android.app.AlertDialog;
import android.app.KeyguardManager;
import android.app.KeyguardManager.KeyguardLock;
import android.content.DialogInterface;
import android.os.bundle;
import android.view.Window;

public class MyApp extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceStatE) {
        // TODO Auto-generated method stub
        this.getWindow().requestFeature(Window.FEATURE_NO_titlE);
        super.onCreate(savedInstanceStatE);
        setContentView(R.layout.splash);


        startDialog();
    }



    private void startDialog() {

        AlertDialog.builder myAlertDialog = new AlertDialog.builder(this);

        myAlertDialog.setmessage("Do you want to exit the application?");
        myAlertDialog.setPositiveButton("Yes",new DialogInterface.onClickListener() {

                    // do something when the button is clicked
                    public void onClick(DialogInterface arg0,int arg1) {
                        System.out.println("...yes button is clicked..");
                        arg0.dismiss();

                    }
                });

        myAlertDialog.setNegativeButton("NO",int arg1) {
                        System.out.println("...clicked no...");
                        arg0.dismiss();
                        KeyguardManager keyguardManager = (KeyguardManager)getSystemservice(Activity.KEYGUARD_serviCE); 
                        KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_serviCE);
                        lock.reenableKeyguard();

                    }
                });
        AlertDialog alert = myAlertDialog.create();
        myAlertDialog.setCancelable(false);
        alert.setCancelable(false);
        alert.getWindow().setLayout(600,400);

        myAlertDialog.show();
    }


}

在Manifest中添加

<uses-permission android:name="android.permission.DISABLE_KEYGUARD"></uses-permission>

有谁知道我做错了什么?

解决方法

您可以通过两种方式锁定屏幕:
PoweRMANager manager = (PoweRMANager) getSystemservice(Context.POWER_serviCE);

// Choice 1
manager.goToSleep(int amountOfTimE);

// Choice 2
PoweRMANager.WakeLock wl = manager.newWakeLock(PoweRMANager.PARTIAL_WAKE_LOCK,"Your Tag");
wl.acquire();
wl.release();

需要此权限:

<uses-permission android:name="android.permission.WAKE_LOCK" />

更新:

screenbrightness的值介于0和1之间.如果该值设置为负数,则将其设置为认屏幕亮度.通过将亮度更改为0,亮度将足够低,屏幕将自动关闭.

WindowManager.LayoutParams params = getWindow().getAttributes();
params.screenBrightness = 0;
getWindow().setAttributes(params);

Thisthis可能会对您有所帮助.

更新2:

以下是一些用于锁定屏幕的方法链接

http://rdcworld-android.blogspot.in/2012/03/lock-phone-screen-programmtically.html

http://developer.android.com/guide/topics/admin/device-admin.html#lock

大佬总结

以上是大佬教程为你收集整理的如何锁定Android设备的屏幕全部内容,希望文章能够帮你解决如何锁定Android设备的屏幕所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。