- package com.test;
- import java.io.FileWriter;
- import java.io.IOException;
- import android.app.Activity;
- import android.app.AlertDialog;
- import android.content.ComponentName;
- import android.content.Context;
- import android.content.Intent;
- import android.content.SharedPreferences;
- import android.os.Bundle;
- import android.os.Handler;
- import android.os.Message;
- import android.os.PowerManager;
- import android.util.Log;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- import android.widget.CheckBox;
- import android.widget.CompoundButton;
- import android.widget.TextView;
- public class MainActivity extends Activity implements OnClickListener {
- Button stopBut;
- Button clearBut;
- TextView textView;
- CheckBox mCheckBox1, mCheckBox2;
- int bootNumber;
- boolean isCBChecked;
- boolean isReboot = false;
- Context mContext;
- private static final String BOOT_NUMBER = "mBootNumber";
- private static final int SHUT_DOWN = 0;
- private static final int PLAY_VIDEO = 1;
- private static final String TAG = "MainActivity";
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- mContext = this;
- stopBut = (Button) findViewById(R.id.stopBut);
- clearBut = (Button) findViewById(R.id.clearBut);
- textView = (TextView) findViewById(R.id.mTextView);
- mCheckBox1 = (CheckBox) findViewById(R.id.CheckBox1);
- mCheckBox2 = (CheckBox) findViewById(R.id.CheckBox2);
- stopBut.setOnClickListener(this);
- clearBut.setOnClickListener(this);
- onReboot();
- // 启动保存log日志apk
- Intent intent = new Intent();
- intent.setComponent(new ComponentName("com.logcat", "com.logcat.MainActivity"));
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- startActivity(intent);
- //Intent mIntent = new Intent();
- //mIntent = getPackageManager().getLaunchIntentForPackage(packageName);
- //startActivity(mIntent);
- SharedPreferences pres = getSharedPreferences(BOOT_NUMBER,Context.MODE_WORLD_READABLE);
- if (pres != null) {
- bootNumber = pres.getInt("boot_Number", 0);
- isCBChecked = pres.getBoolean("CheckBox_", true);
- }
- Log.i(TAG, "---------onCreate number:" + bootNumber);
- textView.setText("开机次数:" + bootNumber);
- bootNumber++;
- if (isCBChecked) {
- mCheckBox1.setChecked(true);
- mCheckBox2.setChecked(false);
- mHandler.sendEmptyMessageDelayed(SHUT_DOWN, 8000);
- Log.i(TAG, "---------isCBChecked:mCheckBox1" );
- } else {
- mCheckBox1.setChecked(false);
- mCheckBox2.setChecked(true);
- mHandler.sendEmptyMessageDelayed(PLAY_VIDEO, 4000);
- Log.i(TAG, "---------isCBChecked:mCheckBox2" );
- }
- mCheckBox1
- .setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton buttonView,
- boolean isChecked) {
- SharedPreferences pres = getSharedPreferences(
- BOOT_NUMBER, Context.MODE_WORLD_READABLE);
- if (isChecked) {
- isCBChecked = true;
- mCheckBox1.setChecked(true);
- mCheckBox2.setChecked(false);
- if (pres != null) {
- SharedPreferences.Editor ed = pres.edit();
- ed.putBoolean("CheckBox_", true);
- ed.commit();
- }
- } else {
- isCBChecked = false;
- SharedPreferences.Editor ed = pres.edit();
- ed.putBoolean("CheckBox_", false);
- ed.commit();
- }
- }
- });
- mCheckBox2
- .setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton buttonView,
- boolean isChecked) {
- SharedPreferences pres = getSharedPreferences(
- BOOT_NUMBER, Context.MODE_WORLD_READABLE);
- if (isChecked) {
- isCBChecked = false;
- mCheckBox2.setChecked(true);
- mCheckBox1.setChecked(false);
- if (pres != null) {
- SharedPreferences.Editor ed = pres.edit();
- ed.putBoolean("CheckBox_", false);
- ed.commit();
- }
- } else {
- isCBChecked = true;
- SharedPreferences.Editor ed = pres.edit();
- ed.putBoolean("CheckBox_", true);
- ed.commit();
- }
- }
- });
- }
- private Handler mHandler = new Handler() {
- @Override
- public void handleMessage(Message msg) {
- switch (msg.what) {
- case SHUT_DOWN:
- onShutdown();
- break;
- case PLAY_VIDEO:
- onPlayVideo();
- break;
- default:
- break;
- }
- }
- };
- @Override
- public void onClick(View view) {
- if (view == stopBut) {
- Log.i(TAG, " stop");
- new AlertDialog.Builder(this).setMessage("停止重启设备").setPositiveButton("OK", null).show();
- stop();
- mHandler.removeMessages(SHUT_DOWN);
- } else if (view == clearBut) {
- Log.i(TAG, " clear");
- SharedPreferences pres = getSharedPreferences(BOOT_NUMBER,Context.MODE_WORLD_READABLE);
- if (pres != null) {
- SharedPreferences.Editor ed = pres.edit();
- ed.putInt("boot_Number", 0);
- ed.commit();
- }
- bootNumber = 0;
- textView.setText("开机次数:" + 0);
- }
- }
- public void onShutdown() {
- SharedPreferences pres = getSharedPreferences(BOOT_NUMBER,Context.MODE_WORLD_READABLE);
- if (pres != null) {
- SharedPreferences.Editor ed = pres.edit();
- ed.putInt("boot_Number", bootNumber);
- ed.commit();
- }
- //关机
- PowerManager pm = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
- pm.reboot("recovery");
- }
- private void onPlayVideo(){
- mHandler.sendEmptyMessageDelayed(SHUT_DOWN, 90000);
- Intent playVideo = new Intent();
- playVideo.setClass(MainActivity.this, VideoActicity.class);
- startActivity(playVideo);
- }
- private void stop() {
- try {
- FileWriter fw = new FileWriter("/sys/misc/poweron_status");
- fw.write("0x5a");
- fw.close();
- Log.i(TAG, "---------stop");
- } catch (IOException e) {
- e.printStackTrace();
- new AlertDialog.Builder(this).setMessage(e.getMessage())
- .setPositiveButton("OK", null).show();
- }
- }
- //修改文件
- private void onReboot() {
- try {
- FileWriter fw = new FileWriter("/sys/misc/poweron_status");
- fw.write("0x87");
- fw.close();
- Log.i(TAG, "---------onReboot");
- } catch (IOException e) {
- e.printStackTrace();
- new AlertDialog.Builder(this).setMessage(e.getMessage())
- .setPositiveButton("OK", null).show();
- }
- }
- @Override
- protected void onDestroy() {
- super.onDestroy();
- mHandler.removeMessages(SHUT_DOWN);
- mHandler.removeMessages(PLAY_VIDEO);
- }
- }
SharedPreferences保存数据
最新推荐文章于 2022-07-04 14:02:18 发布