Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android系統教程 >> Android開發教程 >> 如何在Android平板電腦POWER按鈕菜單中添加休眠功能

如何在Android平板電腦POWER按鈕菜單中添加休眠功能

編輯:Android開發教程

1、修改/frameworks/base/core/res/res/values/strings.xml

在此聲明幾個變量:

<!-- 新增的屏幕休眠的item  -->

<string name="global_action_sleep">Sleep</string>

<!-- 新增sleep字符串 -->

<string name="sleep">Sleep</string>

<!-- 新增確認屏幕休眠信息 -->

<string name="sleep_confirm">The machine screen will turn off.</string>

2、修改/frameworks/base/core/java/com/android/internal/app/ShutdownThread.java

要引用幾個包

import android.os.SystemClock;  
android.os.PowerManager;  
//添加屏幕待機方法  
    public static void goToSleep(Context context,long time){  
     context.enforceCallingOrSelfPermission(android.Manifest.permission.DEVICE_POWER, null);  
      final AlertDialog dialog = new AlertDialog.Builder(context)  
      .setIcon(android.R.drawable.ic_dialog_alert)  
      .setTitle(com.android.internal.R.string.sleep)  
      .setMessage(com.android.internal.R.string.sleep_confirm)  
      .setPositiveButton(com.android.internal.R.string.yes,  
                                   new DialogInterface.OnClickListener() {  
                                       public void onClick  
                                           (DialogInterface dialog, int which){  
                                           PowerManager pm = (PowerManager)mContext.getSystemService(Context.POWER_SERVICE);  
                                           pm.goToSleep(SystemClock.uptimeMillis());  
                                       }  
                                   })  
            .setNegativeButton(com.android.internal.R.string.no, null)  
            .create();  
      dialog.getWindow().setType  
            (WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);  
        dialog.getWindow().addFlags  
            (WindowManager.LayoutParams.FLAG_BLUR_BEHIND);  
        dialog.show();  
           
      }

查看本欄目更多精彩內容:http://www.bianceng.cn/OS/extra/

3、修改 /frameworks/policies/base/mid/com/android/internal/policy/impl/GlobalActions.java

找到mItems = Lists.newArrayList,原始代碼中定義了兩個SinglePressAction,即為power按鈕的菜單項,這時要在裡面

增加一個SinglePressAction實現屏幕休眠功能的按鈕,仿照原始代碼

new SinglePressAction(com.android.internal.R.drawable.ic_lock_power_off,  
                        R.string.global_action_sleep){  
                       
                 public void onPress(){  
                  ShutdownThread.goToSleep(mContext,SystemClock.uptimeMillis());  
                        
                 }  
                       
                 public boolean showDuringKeyguard(){  
                  return true;  
                 }  
                       
                 public boolean showBeforeProvisioning(){  
                  return true;  
                 }  
                       
                }

修改後重新編譯,耐心等待後,在android-x86平台的平板電腦上測試可以實現電腦的休眠功能

注:轉載本blog請注明http://blog.sina.com.cn/hylinblog

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved