【发布时间】:2013-10-31 09:39:32
【问题描述】:
我想在我的应用程序中选中复选框时禁用主页按钮和返回按钮。我使用的是 4.2.2 版。这是我的代码,它不起作用,应用程序在选中框时停止:
public void HardButtonOnClick(View v)
{
boolean checked1 = ((CheckBox) v).isChecked();
if(checked1)
{
SQLiteDatabase db;
db = openOrCreateDatabase("Saftey.db", SQLiteDatabase.CREATE_IF_NECESSARY, null);
db.setVersion(1);
db.setLocale(Locale.getDefault());
db.setLockingEnabled(true);
ContentValues values = new ContentValues();
values.put("hardBtn", "YES");
db.update("Setting", values, "id = ?", new String[] { "1" });
Toast.makeText(this, "Hard Button Locked", Toast.LENGTH_LONG).show();
//SharedPreferences pref = getSharedPreferences("pref",0);
//SharedPreferences.Editor edit = pref.edit();
//edit.putString("hard","yes");
//edit.commit();
/* String Lock="yes" ;
Bundle bundle = new Bundle();
bundle.putString("key", Lock);
Intent a = new Intent(Change_setting.this, ChildMode.class);
a.putExtras(bundle);
startActivity(a);*/
super.onAttachedToWindow();
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
isLock = true;
}
else
{
SQLiteDatabase db;
db = openOrCreateDatabase("Saftey.db", SQLiteDatabase.CREATE_IF_NECESSARY, null);
db.setVersion(1);
db.setLocale(Locale.getDefault());
db.setLockingEnabled(true);
ContentValues values = new ContentValues();
values.put("hardBtn", "NO");
db.update("Setting", values, "id = ?", new String[] { "1" });
//SharedPreferences pref = getSharedPreferences("pref",0);
//SharedPreferences.Editor edit = pref.edit();
//edit.putString("hard","no");
//edit.commit();
Toast.makeText(this, "Hard Button Un-Locked", Toast.LENGTH_LONG).show();
isLock = false;
}
}
我怎样才能做到这一点?我不想隐藏按钮,我只希望它们在选中复选框时不响应点击。
【问题讨论】:
-
您无法覆盖主页按钮,这就像您在启动应用程序时无法退出桌面上的应用程序(除非您将其关闭)。
-
听起来像是恶意软件..!!!
-
因为使用谷歌 5 秒会得到你根本无法禁用主页按钮的信息。
-
大声笑,不是我问的,事实上我提供了一个答案:) 但我同意谷歌搜索比发布到 SO 花费的时间更少,但 SO 提供了更好的缩短答案和链接
-
我不想只在点击主页按钮不起作用时隐藏可点击
标签: java android eclipse android-4.2-jelly-bean