Android 平台开发一些基础知识

1. Toast 使用

Toast toast = Toast.makeText(Context context, CharSequence text, @Duration int duration);
toast.show();

说明:
1. Toast 创建完之后,需调用show()方法。
2. Toast makeText 方法最后一个参数需传入常量 Toast.LENGTH_SHORT 或者 Toast.LENGTH_SHORT

2. AlertDialog 对话框使用

final AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setMessage("您确定退出游戏?");
        builder.setTitle("温馨提示");
        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                System.exit(0);
            }
        });

        builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                dialog.dismiss();
            }
        });
        builder.create().show();

 

3. Home 键事件监听

这里的 Home 键事件监听,指的是知道 Home 键被按下,而不能截获或者屏蔽 Home 键。网上有一堆解决如何屏蔽 Home 键的解决方案,但是我试过了,在我的红米、华为荣耀5x 都没有用。

先定义 BroadcastReceiver

    /**
     * Home 键事件的监听
     */
    private BroadcastReceiver homeKeyEventReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();
            if (!action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) {
                return;
            }

            String reason = intent.getStringExtra("reason");
            if (!TextUtils.equals(reason, "homekey")) {
                return;
            }

            if (isStopToHome) {
                return;
            }

            LogUtil.v(TAG, "homeKeyEvent ...");
            homeKeyEvent = true;

            // 按下 home 键
            Toast toast = Toast.makeText(CikeActivity.this, "您按了“主菜单键” 暂停了游戏!", Toast.LENGTH_LONG);
            toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
            toast.show();
        }
    };

 

然后在 Activity 的 onCreate() 方法中注册 Receiver

// 注册消息接收
registerReceiver(homeKeyEventReceiver, new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));

 

posted @ 2016-08-11 16:00  LuQingshang  阅读(181)  评论(0编辑  收藏  举报