android 2.1的源码分析之长按电源键弹出对话框功能修改

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 2.1的源码分析之长按电源键弹出对话框功能修改相关的知识,希望对你有一定的参考价值。

android 2.1在长按电源键后,弹出“手机选项”对话框,下有“静音模式”“飞行模式”“关机”等三个功能,请教各位高手2个问题:
1、控制这个对话框的源码在哪儿?(好像不是powerdialog.java,像是globalactions.java,但我不确定);
2、控制静音的代码,如何改动使之在选择静音模式后关闭震动(google自带的源码是只关掉声音,震动需另选)。
答案给的全的另给加分!
该对话框的Layout(布局文件)是哪个.xml文件?

1.这个dialog是由PhoneWindowManager控制的,在PhoneWindowManager的interceptKeyTq方法中,代码是这一行

mHandler.postDelayed(mPowerLongPress, ViewConfiguration.getGlobalActionKeyTimeout());

mProwerLongPress是一个Runnable,执行时调用GlobalActions中的showDialog方法。所以这个dialog是由GlobalActions管理的,PowerDialog是之前版本中的,现在已经弃用了。

2.可以在GlobalActions中createDialog方法中mSilentModeToggle action的onToggle方法中加入

mAudioManager.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, on ? AudioManager.VIBRATE_SETTING_ON : AudioManager.VIBRATE_SETTING_OFF);

这一句,仿照铃声的处理,应该没问题,不过没试所以也不能确定。

希望对你有帮助。
参考技术A android 2.1的源码分析之长按电源键弹出对话框功能修改的方法为:
1、在PhoneWindowManager的interceptKeyTq方法中,代码是这一行mHandler.postDelayed(mPowerLongPress,ViewConfiguration.getGlobalActionKeyTimeout()); mProwerLongPress是一个Runnable,执行时调用GlobalActions中的showDialog方法。
2、所以这个dialog是由GlobalActions管理的,PowerDialog是之前版本中的,现在已经弃用了。 2.可以在GlobalActions中createDialog方法中mSilentModeToggle action的onToggle方法中加入mAudioManager.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, on ? AudioManager.VIBRATE_SETTING_ON : AudioManager.VIBRATE_SETTING_OFF);
参考技术B 你下的sdk,里面有很多例子程序,android支持opengl es,你可以去opengl es的官网看看api,然后android的开发官网上也有api和例子。
请参考

markdown [android debug]通过Android SDK调试Android终端。 #test #debug #android

## Refs
http://ohsexybaby.com/web/953/
https://qiita.com/momota10/items/3488956b8bab72d49498

## Install
1. Android SDK をインストール
    - https://goo.gl/Haaovn
2. Android Studio を起動
3. `File > Other Settings > Default Project Structure` で SDK パス確認
4. 上記 SDK パス + `\platform-tools\` でパス通す
5. `adb` コマンドの確認

## Debug
1. 実機の開発モードを ON に
    - 端末情報のビルド番号を複数回タップ
    - USB デバッグの許可
    - 参考 : https://goo.gl/xnKWJr
2. 実機と PC を USB で接続
3. `adb devices` コマンドで端末
4. `adb logcat -v time` ログを時間付きで表示
5. `adb logcat -v time > log.txt` ログ吐き

以上是关于android 2.1的源码分析之长按电源键弹出对话框功能修改的主要内容,如果未能解决你的问题,请参考以下文章

Android 11.0 修复长按关机键弹出框框时,按键盘任意键屏幕顶部状态栏会显示出来其他阴影

android源码修改,实现长按电源键直接关机

ContextMenu使用实例

模拟长按电源键

Android 仿微信长按列表弹出PopupMenu菜单栏

9按android手机的电源键来黑屏和点亮屏幕,可以对app的功能产生影响,这里应用的技术是