android距離感應器控制螢幕滅屏白屏

2021-06-17 23:08:48 字數 1347 閱讀 6318

在eoe上發帖尋問這個問題時,大牛告訴我說點亮螢幕可以做到,但是滅屏需要系統許可權,應該無法做到。他說的很對,這裡我們確實需要申請許可權:

第乙個許可權加到xml檔案中時會報錯,但是我會很利索的去clean掉,實現步驟:找到eclipse中的選單選項project>clean,選擇當前專案就ok

package com.xluo.sensortest;

import android.content.context;

import android.hardware.sensor;

import android.hardware.sensorevent;

import android.hardware.sensoreventlistener;

import android.hardware.sensormanager;

import android.os.bundle;

import android.os.powermanager;

import android.util.log;

import android.view.menu;

import android.view.view;

public class sensortest extends activity implements sensoreventlistener

public void onresume()

public void onstop()

public void ondestroy()

} @override

public void onaccuracychanged(sensor sensor, int accuracy)

@override

public void onsensorchanged(sensorevent event) else

} else else

}} }

}

當然,拿出來的例子只是對螢幕鎖做了實現,而沒有通話的功能的。但是原理大概就是這樣,來電或者撥打時手機會切換到乙個通話介面,然後這個介面應該具有上面所說的這樣的功能。

需要特別注意的是,在ondestroy()函式裡需要把物件鎖釋放掉(localwakelock.release()),否則這個功能會一直存在知道你清楚應用資料或者刪除應用,我就為這個問題困擾了好久。為此我特意在源**例子裡做了乙個跳轉頁面,加了log。

這裡我們例項化了兩個管理物件,乙個是感測器管理物件:sensormanager;另乙個是 電源管理物件:localpowermanager。

感測器管理物件負責收集收集與物體之間的距離資料,電源管理物件通過判斷感測器收集到資料對螢幕的滅屏和白屏做處理。 

重力感應器

以螢幕的左下方為原點 2d程式設計的時候,是以螢幕左上方為原點的,這個值得注意一下 箭頭指向的方向為正。從 10到10,以浮點數為等級單位,想象一下以下情形 手機螢幕向上 z軸朝天 水平放置的時侯,x,y,z 的值分別為 0,0,10 手機螢幕向下 z軸朝地 水平放置的時侯,x,y,z 的值分別為 ...

Android重力感應器Sensor程式設計

新增當重力變化時的處理函式 在建立 時呼叫的函式 dosomething x,y,z 是自己定義的方法。當手機傾斜方向改變時,會呼叫該方法。我們要做的,就是填充該方法,用於在重力發生變化時進行我們自己的處理。當 x y 0 時,手機處於水平放置狀態。當 x 0 並且 y 0 時,手機頂部的水平位置要...

iOS裝置的感應器

ios sensors iphone 5 感測器列表 運動 加速度感測器 motion accelerometer sensor 環境光感測器 ambient light sensor 距離感測器 proximity sensor 磁力計感測器 magnetometer sensor 內部溫度感測器...