长按电源键中增加重启和飞行模式选项及显示情景模式(静音、震动、响铃)
2016-08-22 16:22
218 查看
1.frameworks/base/services/core/java/com/android/server/policy/GlobalActions.java
private final class PowerAction extends SinglePressAction implements LongPressAction {
.......
}
//add by zjx
private final class RebootAction extends SinglePressAction implements LongPressAction {
private RebootAction() {
super(com.mediatek.internal.R.drawable.ic_lock_reboot,
com.mediatek.internal.R.string.global_action_reboot);
}
@Override
public boolean onLongPress() {
//mWindowManagerFuncs.rebootSafeMode(true);
return true;
}
@Override
public boolean showDuringKeyguard() {
return true;
}
@Override
public boolean showBeforeProvisioning() {
return true;
}
@Override
public void onPress() {
// shutdown by making sure radio and power are handled accordingly.
AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
builder.setTitle(com.android.internal.R.string.factorytest_reboot);
builder.setMessage(com.mediatek.internal.R.string.global_action_reboot_info);
builder.setNegativeButton(com.android.internal.R.string.cancel, null);
builder.setPositiveButton(com.android.internal.R.string.yes,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
PowerManager pm = (PowerManager) mContext
.getSystemService(Context.POWER_SERVICE);
// SPRD: add reboot reason for PhoneInfo
// feature @{
pm.reboot("power_reboot");
}
});
AlertDialog dialog = builder.create();
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
dialog.show();
}
}
//end by zjx
2.frameworks/base/services/core/java/com/android/server/power/ShutdownThread.java
private static void beginShutdownSequence(Context context) {
...................
//add by zjx
} else {
if(mReboot&&(!mRebootSafeMode)){
pd.setTitle(context.getText(com.android.internal.R.string.factorytest_reboot));
pd.setMessage(context.getText(com.mediatek.internal.R.string.global_action_reboot_message));
}else{
pd.setTitle(context.getText(com.android.internal.R.string.power_off));
pd.setMessage(context.getText(com.android.internal.R.string.shutdown_progress));
}
//end by zjx
pd.setIndeterminate(true);
}
}
3.frameworks/base/core/res/res/values/config.xml
<string-array translatable="false" name="config_globalActionsList">
<item>power</item>
<item>airplane</item>
<item>bugreport</item>
<item>users</item>
<item>silent</item> //显示情景模式
</string-array>
4,vendor\mediatek\proprietary\frameworks\base\res\res\values\symbols.xml
//add by zjx
<java-symbol type="drawable" name="ic_lock_reboot" />
<java-symbol type="string" name="global_action_reboot" />
<java-symbol type="string" name="global_action_reboot_info" />
<java-symbol type="string" name="global_action_reboot_message" />
//end by zjx
5.vendor\mediatek\proprietary\frameworks\base\res\res\values\strings.xml
<string name="global_action_reboot" >Reboot</string>
<string name="global_action_screenshot" >Screenshot</string>
<string name="global_action_reboot_info" >Would you like to reboot your phone now?</string>
<string name="global_action_reboot_message" >Rebooting...</string>
private final class PowerAction extends SinglePressAction implements LongPressAction {
.......
}
//add by zjx
private final class RebootAction extends SinglePressAction implements LongPressAction {
private RebootAction() {
super(com.mediatek.internal.R.drawable.ic_lock_reboot,
com.mediatek.internal.R.string.global_action_reboot);
}
@Override
public boolean onLongPress() {
//mWindowManagerFuncs.rebootSafeMode(true);
return true;
}
@Override
public boolean showDuringKeyguard() {
return true;
}
@Override
public boolean showBeforeProvisioning() {
return true;
}
@Override
public void onPress() {
// shutdown by making sure radio and power are handled accordingly.
AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
builder.setTitle(com.android.internal.R.string.factorytest_reboot);
builder.setMessage(com.mediatek.internal.R.string.global_action_reboot_info);
builder.setNegativeButton(com.android.internal.R.string.cancel, null);
builder.setPositiveButton(com.android.internal.R.string.yes,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
PowerManager pm = (PowerManager) mContext
.getSystemService(Context.POWER_SERVICE);
// SPRD: add reboot reason for PhoneInfo
// feature @{
pm.reboot("power_reboot");
}
});
AlertDialog dialog = builder.create();
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
dialog.show();
}
}
//end by zjx
2.frameworks/base/services/core/java/com/android/server/power/ShutdownThread.java
private static void beginShutdownSequence(Context context) {
...................
//add by zjx
} else {
if(mReboot&&(!mRebootSafeMode)){
pd.setTitle(context.getText(com.android.internal.R.string.factorytest_reboot));
pd.setMessage(context.getText(com.mediatek.internal.R.string.global_action_reboot_message));
}else{
pd.setTitle(context.getText(com.android.internal.R.string.power_off));
pd.setMessage(context.getText(com.android.internal.R.string.shutdown_progress));
}
//end by zjx
pd.setIndeterminate(true);
}
}
3.frameworks/base/core/res/res/values/config.xml
<string-array translatable="false" name="config_globalActionsList">
<item>power</item>
<item>airplane</item>
<item>bugreport</item>
<item>users</item>
<item>silent</item> //显示情景模式
</string-array>
4,vendor\mediatek\proprietary\frameworks\base\res\res\values\symbols.xml
//add by zjx
<java-symbol type="drawable" name="ic_lock_reboot" />
<java-symbol type="string" name="global_action_reboot" />
<java-symbol type="string" name="global_action_reboot_info" />
<java-symbol type="string" name="global_action_reboot_message" />
//end by zjx
5.vendor\mediatek\proprietary\frameworks\base\res\res\values\strings.xml
<string name="global_action_reboot" >Reboot</string>
<string name="global_action_screenshot" >Screenshot</string>
<string name="global_action_reboot_info" >Would you like to reboot your phone now?</string>
<string name="global_action_reboot_message" >Rebooting...</string>
相关文章推荐
- android 情景模式之响铃+震动获取方法
- 无法软关机(关机变重启或关机不切断电源而显示:您可以安全关机)解决方法+ACPI精解
- 若要调试此模块,请将其项目生成配置更改为“调试”模式。若要取消显示此消息,请禁用“启动时若没有用户代码则发出警告”调试器选项。
- 增加重启路由选项8881ecos
- bcdedit,WMWARE调试目标机增加调试模式的开机选项
- 飞行模式下打开wifi 和 Setting界面增加Shut down & Reboot功能
- 在MiniGUI增加一种显示模式(修改分辨率)!
- android 关机对框不显示情景模式三按钮
- 若要调试此模块,请将其项目生成配置更改为“调试”模式。若要取消显示此消息,请禁用“启动时若没有用户代码则发出警告”调试器选项。
- Android系统移植与调试之------->如何修改Android设备添加重启、飞行模式、静音模式等功能(二)
- BackgroundResource 图片递增模式:风速变化(类似音量逐步增加,图片成梯状显示)
- 一接打电话手机就自动变为静音震动模式的问题
- combox运用addstring增加选项,发现显示的顺序和添加的不一样,怎么办?
- 安卓情景模式开发-控制GPS/WIFI/蓝牙/飞行模式/控制静音/音量/振动
- 如何修改Android设备添加重启、飞行模式、静音模式等功能(二)
- 解决VirtualBox 上的XP 关机时重启 , 启动时蓝屏 ,点击电源选项蓝屏
- 安卓情景模式开发-控制GPS/WIFI/蓝牙/飞行模式/控制静音/音量/振动
- 建议: 增加首页显示标题及摘要的选项!
- 如何默认勾选“设置-情景模式”菜单下面的BesAudEnh选项?
- 添加重启和飞行模式