| | |
| | | import android.app.SmatekManager; |
| | | import android.content.Context; |
| | | import android.content.Intent; |
| | | import android.hardware.Sensor; |
| | | import android.hardware.SensorEvent; |
| | | import android.hardware.SensorEventListener; |
| | | import android.hardware.SensorManager; |
| | | import android.media.AudioManager; |
| | | import android.os.Build; |
| | | import android.os.SystemClock; |
| | |
| | | import com.smatek.px30smatekapi.utils.EthernetUtils; |
| | | |
| | | import java.lang.reflect.Method; |
| | | |
| | | import static android.content.ContentValues.TAG; |
| | | |
| | | |
| | | public class MainActivity extends AppCompatActivity implements View.OnClickListener, SeekBar.OnSeekBarChangeListener { |
| | |
| | | private static String TAG = "MainActivity"; |
| | | private MyISmatekListener myISmatekListener; |
| | | |
| | | private SensorManager mSensorManager; |
| | | private MySensorEventListener sensorEventListener;//光线距离传感器 |
| | | |
| | | private int screenBrightness = 100; |
| | | |
| | | @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR2) |
| | | @Override |
| | |
| | | smatekManager = (SmatekManager) getSystemService("smatek"); |
| | | myISmatekListener = new MyISmatekListener(); |
| | | smatekManager.addSmatekListener(myISmatekListener); |
| | | //光线距离传感器 |
| | | mSensorManager = (SensorManager)this.getSystemService(this.SENSOR_SERVICE); |
| | | sensorEventListener = new MySensorEventListener(); |
| | | Sensor als = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT); |
| | | mSensorManager.registerListener(sensorEventListener, als,SensorManager.SENSOR_DELAY_NORMAL); |
| | | Sensor ps = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY); |
| | | mSensorManager.registerListener(sensorEventListener, ps,SensorManager.SENSOR_DELAY_NORMAL); |
| | | |
| | | } |
| | | |
| | |
| | | smatekManager.setLcdBlackLight(true); |
| | | break; |
| | | case R.id.btn_close_back_light: |
| | | // isScreenClose = true; |
| | | smatekManager.setLcdBlackLight(false); |
| | | break; |
| | | case R.id.btn_statusBar_show: |
| | |
| | | |
| | | break; |
| | | case R.id.btn_screen: |
| | | isScreenClose = true; |
| | | smatekManager.openOrCloseScreen(true); |
| | | break; |
| | | case R.id.btn_screen_open: |
| | |
| | | |
| | | @Override |
| | | public void onKeyEvent(int i, int i1) { |
| | | Log.e(TAG, " i :" + i + " i1 :" + i1); |
| | | Log.e(TAG, " 小板事件Key i :" + i + " i1 :" + i1); |
| | | } |
| | | |
| | | @Override |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | boolean isScreenClose = false; |
| | | //检测光感距离小于30cm,小于如果屏幕关闭则重新打开 |
| | | private void checkWakeUpScreen(float mPROXIMITY){ |
| | | if((65535.0 - mPROXIMITY) < 30){ |
| | | Log.e(TAG, "小板 检测光感距离小于30"); |
| | | //光感距离小于30cm |
| | | if(isScreenClose){ |
| | | isScreenClose = false; |
| | | //打开屏幕背光 |
| | | Log.e(TAG, "小板 重新打开屏幕"); |
| | | smatekManager.openOrCloseScreen(false); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | long setTime = 0; |
| | | //自动调节亮度 |
| | | private void autoSetScreenBrightness(float mLIGHT){ |
| | | long timecurrentTimeMillis = System.currentTimeMillis(); |
| | | if((timecurrentTimeMillis - setTime) < 200) return; |
| | | //每200ms改变一次 |
| | | setTime = timecurrentTimeMillis; |
| | | |
| | | double percent = 1 - (mLIGHT / 9535.0); |
| | | |
| | | screenBrightness = (int)(percent * 255); |
| | | |
| | | if(screenBrightness > 255){ |
| | | screenBrightness = 255; |
| | | } |
| | | |
| | | if(screenBrightness < 0){ |
| | | screenBrightness = 0; |
| | | } |
| | | |
| | | Log.e(TAG, "小板 自动调节亮度:"+screenBrightness); |
| | | smatekManager.setBrightness(screenBrightness); |
| | | } |
| | | |
| | | private final class MySensorEventListener implements SensorEventListener { |
| | | @Override |
| | | public void onSensorChanged(SensorEvent event) { |
| | | if(event.sensor.getType() == Sensor.TYPE_LIGHT) { |
| | | Log.e(TAG, "小板 光感亮度 values = " + event.values[0]); |
| | | autoSetScreenBrightness(event.values[0]); |
| | | } else if (event.sensor.getType() == Sensor.TYPE_PROXIMITY){ |
| | | Log.e(TAG, "小板 光感距离 values = " +event.values[0]); |
| | | checkWakeUpScreen(event.values[0]); |
| | | } |
| | | } |
| | | @Override |
| | | public void onAccuracyChanged(Sensor sensor, int accuracy){ |
| | | } |
| | | } |
| | | } |
| | | |