1. 程式人生 > >android雙擊滅屏

android雙擊滅屏

1.android處理雙擊事件

    // 計算點選的次數  
    private int count = 0;  
    // 第一次點選的時間 long型  
    private long firstClick = 0;  
    // 最後一次點選的時間  
    private long lastClick = 0;  
    private ButtonOnTouchListener listener = new ButtonOnTouchListener();  
    private class ButtonOnTouchListener implements OnTouchListener  
    {  
        @Override  
        public boolean onTouch(View v, MotionEvent event)  
        {  
              
                if (event.getAction() == MotionEvent.ACTION_DOWN)  
                {  
                    // 如果第二次點選 距離第一次點選時間過長 那麼將第二次點選看為第一次點選  
                    if (firstClick != 0 && System.currentTimeMillis() - firstClick > 500)  
                    {  
                        count = 0;  
                    }  
                    count++;  
                    if (count == 1)  
                    {  
                        firstClick = System.currentTimeMillis();  
                    }   
                    else if (count == 2)  
                    {  
                        lastClick = System.currentTimeMillis();  
                        // 兩次點選小於500ms 也就是連續點選  
                        if (lastClick - firstClick < 500)  
                        {  
                            //Log.v("Double", "Double");  
                            if (vv.isScale())  
                            {  
                                vv.setScale(false);  
                            }  
                            else  
                            {  
                                vv.setScale(true);  
                            }  
                        }  
                        clear();  
                    }  
                }  
      
            return false;  
      
        // 清空狀態  
        private void clear()  
        {  
            count = 0;  
            firstClick = 0;  
            lastClick = 0;  
        }  
    }  
2.android滅屏
+                PowerManager pm = (PowerManager) getContext().getSystemService(Context.POWER_SERVICE);
+                pm.goToSleep(SystemClock.uptimeMillis());
3.AndroidManifest.xml修改

新增系統許可權

 <manifest
     xmlns:android="http://schemas.android.com/apk/res/android"
+    android:sharedUserId="android.uid.system">

<permission
+    <uses-permission android:name="android.permission.DEVICE_POWER" />
4.Android.mk中增加如下程式碼:
LOCAL_CERTIFICATE := platform