您的位置:首页 > 移动开发 > Android开发

android如何在底层发送一个广播应用层接收

2017-01-10 10:08 561 查看
我的是在点MENU键发送广播位置

/mnt/sdc1/he0809/rk/20170109/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java

      在指定位置

 public boolean dispatchKeyEvent(KeyEvent event) {

            final int keyCode = event.getKeyCode();

            final int action = event.getAction();

            final boolean isDown = action == KeyEvent.ACTION_DOWN;

            /**

             * *********************HJZ added************************************

             * */

            if (event.getKeyCode() == KeyEvent.KEYCODE_MENU)

            {

                Log.e("HJZ PhoneWindow", "Now it's menu button key event, so send the broadcast.");

                Intent intent = new Intent("com.vtech.broadcast.talkbutton");

                intent.putExtra("key_code", event.getKeyCode());

                intent.putExtra("key_action", event.getAction());

                intent.putExtra("repeat_count", event.getRepeatCount());

                intent.putExtra("device_id", event.getDeviceId());

                intent.putExtra("down_time", event.getDownTime());

                intent.putExtra("event_time", event.getEventTime());

                intent.putExtra("number", event.getNumber());

                intent.putExtra("flags", event.getFlags());

                intent.putExtra("scan_code", event.getScanCode());

                intent.putExtra("source", event.getSource());

                intent.putExtra("display_label", event.getDisplayLabel());

                intent.putExtra("meta_state", event.getMetaState());

                intent.putExtra("unicode_char", event.getUnicodeChar());

                intent.putExtra("characters", event.getCharacters());

                mContext.sendBroadcast(intent);

            }

}

在应用层只需要自己写一个广播接收

 把com.vtech.broadcast.talkbutton

传入即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: