天天看點

android 加入關屏

修改policies/base/phone/com/android/internal/policy/impl/PhoneWindowManager.java

添加個關屏菜單。其實如果硬體能定義一個專門關機的鍵會比較好 長短按有差別的對待。挂斷短按如果要關屏的話 就要加入電話判斷是不是通話?

修改frameworks/base/core/java/com/android/internal/app/ShutdownThread.java添加關屏代碼

import android.os.SystemClock;

import 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();

      }

上一篇: openStack

繼續閱讀