android设备横向锁定,如何锁定Android设备的屏幕

博主想在Android应用程序中实现屏幕锁定功能,当用户在alertDialog中按“否”时锁定屏幕。博主尝试使用特定代码但未成功,给出了相关代码示例,还提到要在Manifest中添加内容,最后询问自己哪里做错了。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我想在我的应用程序中实现屏幕锁定功能,但目前我无法让它工作.我有一个alertDialog,它将通过使用几个按钮请求用户输入.如果用户按“否”,我想锁定屏幕(无限期,不是一段时间).以编程方式锁定屏幕的最佳方法是什么?我尝试使用以下,但是,虽然我的对话框被解除,屏幕永远不会锁定.

KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Activity.KEYGUARD_SERVICE);

KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);

lock.reenableKeyguard();

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中添加

有谁知道我做错了什么?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值