如果用户在AlertDialog中点击“是”,则要锁定活动操作,但单击“是”时似乎没有任何操作。
我正在关注this解决方案
AlertDialog.Builder alertDialog = new AlertDialog.Builder(AlertDialogActivity.this);
// Setting Dialog Title
alertDialog.setTitle("Confirm Delete...");
// Setting Dialog Message
alertDialog.setMessage("Are you sure you want delete this?");
// Setting Icon to Dialog
alertDialog.setIcon(R.drawable.delete);
// Setting Positive "Yes" Button
alertDialog.setPositiveButton("YES", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int which) {
PackageManager pm = getPackageManager();
pm.setComponentEnabledSetting(new ComponentName(getApplicationContext(), com.example.lock.MainActivity.class),
PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
}
});
// Setting Negative "NO" Button
alertDialog.setNegativeButton("NO", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// Write your code here to invoke NO event
dialog.cancel();
}
});
// Showing Alert Message
alertDialog.show();
答案 0 :(得分:0)
使用它。它有效:)
` 尝试使用此标志在活动开始时禁用锁定屏幕。
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON|
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD|
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED|
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
答案 1 :(得分:0)
实际上,我认为这是不可能的。当然,您可以覆盖Activity的onBackPressed方法,以便用户无法导航回来。您还可以设置FullScreenMode以隐藏用户的状态栏。但是,很难拦截Home键。它是由Android设计的,因此用户将始终可以访问HomeScreen。
所以一般来说,我建议使用ProgressDialog(http://developer.android.com/reference/android/app/ProgressDialog.html),你甚至可以使用setCancelable(false)来防止它被" Back"解雇。但Home仍将最小化您的应用并转到主屏幕。
答案 2 :(得分:0)
似乎创建新组件可能会导致问题。 在对话框中获取上下文可能与您的想法不同。
请点击此链接Hide application icon。或者编辑获取上下文的代码。
private static final ComponentName LAUNCHER_COMPONENT_NAME = new ComponentName("your.package.name", "your.package.name.Launcher");
...
getPackageManager().setComponentEnabledSetting(LAUNCHER_COMPONENT_NAME,
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
答案 3 :(得分:-1)
而不是让getApplicationContext()
获取当前类的上下文而不是ClassName.this