Android 返回键事件

来源:互联网 发布:小孩学编程先学什么 编辑:程序博客网 时间:2024/05/22 08:19

Android 返回键事件代码示例

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

DialogOnKeyListener dialogOnKeyListener = new DialogOnKeyListener();
            AlertDialog alertDialog = new AlertDialog.Builder(this)
                   .setTitle(R.string.title_low_storage)
                .setMessage(R.string.message_low_storage)
                   .setPositiveButton(R.string.clear,
                       new OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            dialog.cancel();
                            Intent intent = new Intent("android.intent.action.MAIN");
                            intent.addCategory("android.intent.category.LAUNCHER");
                            intent.setComponent(ComponentName.unflattenFromString("com.android.filemanager/.FileManagerActivity"));
                            startActivity(intent);
                            //finish();
                        }
                    })
                   .setNegativeButton(R.string.cancel,
                       new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            finish();
                        }
                    })
                .setOnKeyListener(dialogOnKeyListener)
                .show();


public class DialogOnKeyListener implements OnKeyListener {
        @Override
        public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
            if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
                if (dialog != null)
                    dialog.dismiss();
                finish();
                //mDialogIsShowing = false;
             }
            return false;
        }    
    }

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

DialogOnKeyListener dialogOnKeyListener = new DialogOnKeyListener();
                boolean stroageFlag = isSdcardStroagePath();
                //String PhoneInOrOutSdCardName = "";
                if (stroageFlag) { // true is sdCard stroage path
                    message = res.getString(R.string.sdcard_error_space_expired);
                    //Toast.makeText(SoundRecorder.this, message,Toast.LENGTH_SHORT).show();
                    if (message != null) {
                        new AlertDialog.Builder(this).setTitle(R.string.recorder_space_insufficient)
                            .setMessage(message)
                            .setPositiveButton(R.string.button_clean_name1, new OnClickListener() {
                                public void onClick(DialogInterface dialog, int which) {
                                    // TODO Auto-generated method stub
                                    String UDISK_2 = Environment.getExternalSdDirectory().getAbsolutePath().toLowerCase();
                                    String PhoneInOrOutSdCardName = "PhoneOutSdCardName";
                                    Intent intent = new Intent();
                                    intent.putExtra(PhoneInOrOutSdCardName, UDISK_2);
                                    ComponentName cName = new ComponentName("com.android.filemanager","com.android.filemanager.FileManagerActivity");
                                    intent.setComponent(cName);
                                    startActivity(intent);
                                }
                            })
                            .setNegativeButton(R.string.cancel,null)
                            .setOnKeyListener(dialogOnKeyListener)
                            .setCancelable(false).show();
                    }
                    //Intent intent = new Intent();  
                    //intent.setClass("com.android.gallery3d","com.android.camera.Camera");  
                    //startActivity(intent);
                }else {               //false  is phone stroage path
                    message = res.getString(R.string.phone_error_space_expired);
                    //Toast.makeText(SoundRecorder.this, message,Toast.LENGTH_SHORT).show();
                    if (message != null) {
                        new AlertDialog.Builder(this).setTitle(R.string.recorder_space_insufficient)
                            .setMessage(message)
                            .setPositiveButton(R.string.button_clean_name1,new OnClickListener() {
                                public void onClick(DialogInterface dialog, int which) {
                                    // TODO Auto-generated method stub
                                    String UDISK_1 = Environment.getInternalStorageDirectory().getAbsolutePath().toLowerCase();
                                    String PhoneInOrOutSdCardName = "PhoneInCardName";
                                    Intent intent = new Intent();
                                    intent.putExtra(PhoneInOrOutSdCardName, UDISK_1);
                                    ComponentName cName = new ComponentName("com.android.filemanager","com.android.filemanager.FileManagerActivity");
                                    intent.setComponent(cName);
                                    startActivity(intent);
                                }
                            })
                            .setNegativeButton(R.string.cancel,null)
                            .setOnKeyListener(dialogOnKeyListener)
                            .setCancelable(false).show();
                    }
                }

public class DialogOnKeyListener implements OnKeyListener {
        @Override
        public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
            if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
                if (dialog != null)
                    dialog.dismiss();
                finish();
                //mDialogIsShowing = false;
             }
            return false;
        }    
    }

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

原创粉丝点击