`
modabobo
  • 浏览: 508977 次
文章分类
社区版块
存档分类
最新评论

屏蔽Activity, Dialog风格Activity, AlertDialog的Home键功能方法(总结)

 
阅读更多
屏蔽Activity, Dialog风格Activity, AlertDialog的Home键功能方法分别是:


1.屏蔽Activity的Home键功能
@Override
public void onAttachedToWindow() {
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}

2.屏蔽 Dialog风格Activity的Home键功能
@Override
public void onAttachedToWindow() {
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
super.onAttachedToWindow();
}
这里之所以和Activity区分,是因为Dialog风格Activity如果用第一种方法,这个Dialog风格Activity的背景就变成黑色的,而不是透明的.

3.屏蔽AlertDialog的Home键功能
AlertDialog d = b.create();

d.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);


不做屏蔽Home键的功能不能常用


在做音乐播放器的睡眠模式时,为保证在睡眠关机提示框弹出时,用户只针对当前提示框做操作,就用得屏蔽其Home键作用,就像手机要关机时,必须对关机做取消或确定关机操作一样,除非确认完关闭此对话框,不能到其它界面做操作.



sleepDialog = b.create();
sleepDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
sleepDialog.show();





=============================下 面 转载一个home键监听函数:

本文来自CSDN丹丹博客,转载请注明出处:

http://blog.csdn.net/dany1202/archive/2011/06/14/6543769.aspx

请支持原创



注册:

view plain
IntentFilter filter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
mCloseSystemDialogsReceiver = new CloseSystemDialogsIntentReceiver();
registerReceiver(mCloseSystemDialogsReceiver, filter);

监听:

view plain
private class CloseSystemDialogsIntentReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {

String reason = intent.getStringExtra("reason");
Log.d(TAG, "CloseSystemDialogsIntentReceiver reason is " + reason);
if ("homekey".equals(reason)) {
Log.d(TAG,"homekey click=========================");
// EditWidget.this.finish();
keyHomeFlag = true;
}

}
}

上面 的函数可以在Home键功能完毕后监听到是Home键而非其它Key键.

分享到:
评论

相关推荐

    Activity与AlertDialog值传递

    自己总结的,在Android中 Activity与 AlertDialog 值传递的例子 有一个EditText和两个EditText,将值返回给Activity中的 TextView

    Android 控制关闭Dialog

    我们添加的按钮不论是用setNegativeButton还是用setPositiveButton添加的按钮,点击的时候,都会关闭对话框,但是我们的一 些实际需求,就需要保留这个对话框不动,例如输入校验码,...而关闭后弹出对话框,就很别扭了

    bfchengnuo#MyRecord#Activity的对话框-AlertDialog-样式1

    前言有些时候需要把一个activity当成一个dialog来使用,或者说需要一个dialog里面放一些布局或者其它控件,这时候就需要一个Dialog样式的Act

    Android编程自定义Dialog的方法分析

    本文实例讲述了Android编程自定义Dialog的方法。分享给大家供大家参考,具体如下: 功能: android 提供给我们的只有2种Dialog 即 AlertDialog & ProgressDialog 但是 Dialog 有其自身的特点:1. 不是 Activity 2. ...

    andorid dialog 大合集

    AlertDialog.Builder builder = new AlertDialog.Builder(MainDialog.this); switch(id) { case DIALOG_0: builder.setIcon(R.drawable.icon); builder.setTitle("你确定要离开吗?"); builder....

    Android弹出dialog后无法捕捉back键的解决方法

    原因:弹出dialog后,activity失去焦点,dialog获得当前焦点。 解决办法:在dialog中可以通过调用setOnKeyListener()方法来为dialog增加按键事件的监听。 private void createDialog() { AlertDialog.Builder ...

    android控件封装 自己封装的dialog控件

    自定义dialog肯定是用的很多了但是感觉每次做都是很乱 单纯完成任务而已,现在封装了一下 以后用到直接copy 先上图: 主activity 代码如下: package com.su.testcustomdialog; import ...

    透明与窗体的设置

    PS2:其他创建Dialog的方法:创建app.Dialog类或者创建app.AlertDialog类。 Next Study:能不能在Activity已经打开以后动态修改当前Activity的风格? 在测试中发现,在onCreate()事件中增加setTheme(),必须在...

    安卓开发对话框大全

    private AlertDialog dialog1; private AlertDialog dialog2; private AlertDialog dialog3; private AlertDialog dialog4; private AlertDialog dialog5; private ProgressDialog dialog6; private ...

    Android使用自定义alertdialog实现确认退出按钮

    有时候我们需要在游戏或应用中用一些符合我们样式的提示框(AlertDialog),以下是我在开发一个小游戏中总结出来的.希望对大家有用. 先上效果图: 下面是用到的背景图或按钮的图片 经过查找资料和参考了一下例子后才...

    安卓编程与应用

    OnClickListener() { public void onClick(View v) { AlertDialog dlg = new AlertDialog.Builder(ArtistsActivity.this) .setTitle("Login Exit").setMessage("您要退出程序??") .setPositiveButton("确定", new ...

    Android学习笔记(Android Studio)3-2(AlertDialog)UI组件之弹出组件

    Android学习笔记3-2 ... 3-2 AlertDialog activity_dialog.xml文件 ...DialogActivity.java文件 package com.ylw.helloworld; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.App

    Android编程实现Dialog窗体监听的方法

    本文实例讲述了Android编程实现Dialog窗体监听的方法。分享给大家供大家参考,具体如下: 今天做了一个Dialong窗体监听包括窗体内的xml监听。 效果图: test.class代码 package com.test; import Android.app....

    Android Dialog对话框用法实例详解

    例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog(int),dismissDialog(int)等方法,如果使用这些方法的话,Activity将通过getOwnerActivity()方法返回该Activity管理的对话框(dialog). ...

    属于自己的Android对话框(Dialog)自定义集合

    例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog(int), dismissDialog(int)等方法,如果使用这些方法的话,Activity将通过getOwnerActivity()方法返回该Activity管理的对话框(dialog). ...

    Android 对话框(Dialog)大全详解及示例代码

    例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog(int), dismissDialog(int)等方法,如果使用这些方法的话,Activity将通过getOwnerActivity()方法返回该Activity管理的对话框(dialog). ...

    android的Tag标签的实现

    Dialog dialog = new AlertDialog.Builder(Activity01.this) .setTitle("善谢谢提醒") .setMessage("现在选中了:"+tabId+"标签") .setPositiveButton("确定", new ...

    Android中Dialog对话框的使用小结

    AlertDialog.Builder builder = new AlertDialog.Builder(activity); builder.setTitle(温馨提示);//标题 builder.setMessage(天气冷,注意保暖); builder.setIcon(R.mipmap.ic_launcher); builder.create(); bui

    Android中AlertDialog各种对话框的用法实例详解

    1.activity_main.xml页面存放五个按钮。 activity_main.xml页面: <RelativeLayout xmlns:android=http://schemas.android.com/apk/res/android xmlns:tools=http://schemas.android.com/tools android:layout_...

Global site tag (gtag.js) - Google Analytics