赞
踩
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
-
- <ScrollView
- android:layout_width="match_parent"
- android:layout_height="match_parent">
- <TextView
- android:id="@+id/text"
- android:layout_width="match_parent"
- android:layout_height="match_parent" />
-
- </ScrollView>
- </LinearLayout>

- package zhangphil.adb;
-
- import android.content.BroadcastReceiver;
- import android.content.Context;
- import android.content.Intent;
- import android.content.IntentFilter;
- import android.os.BatteryManager;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.widget.TextView;
-
- import java.text.SimpleDateFormat;
- import java.util.Date;
-
-
- public class MainActivity extends AppCompatActivity {
- private String TAG = "USB连接状态";
- private final static String USB_ACTION = "android.hardware.usb.action.USB_STATE";
-
- private TextView text;
- private String string = "";
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- text = findViewById(R.id.text);
-
- IntentFilter filter = new IntentFilter();
- filter.addAction(Intent.ACTION_BATTERY_CHANGED);
- filter.addAction(Intent.ACTION_BATTERY_LOW);
- filter.addAction(Intent.ACTION_BATTERY_OKAY);
- filter.addAction(Intent.ACTION_POWER_CONNECTED);
- filter.addAction(Intent.ACTION_POWER_DISCONNECTED);
- filter.addAction(USB_ACTION);
- registerReceiver(mBroadcastReceiver, filter);
-
- registerReceiver(mBroadcastReceiver, new IntentFilter(USB_ACTION));
- }
-
- @Override
- protected void onDestroy() {
- super.onDestroy();
- unregisterReceiver(mBroadcastReceiver);
- }
-
- private void displayMsg(String s) {
- SimpleDateFormat sdf = new SimpleDateFormat("MM-dd HH:mm:ss:SSS");
- string = string + sdf.format(new Date()) + "\t\t" + s + "\n";
- text.setText(string);
- }
-
- private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- String action = intent.getAction();
- switch (action) {
- case USB_ACTION:
- boolean connected = intent.getExtras().getBoolean("connected");
- if (connected) {
- displayMsg("USB已连接");
- } else {
- displayMsg("USB未连接");
- }
- break;
-
- case Intent.ACTION_BATTERY_CHANGED:
- //电量发生改变。
- displayMsg("电量发生改变");
-
- boolean isCharging = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1) != 0;
- if (isCharging) {
- //剩余电量。
- int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
-
- //电量最大值。
- int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
-
- //电量百分比。
- float batteryPct = level / (float) scale;
- displayMsg("充电," + level + "-" + batteryPct + "-" + scale);
- }
- break;
-
- case Intent.ACTION_BATTERY_LOW:
- displayMsg("电量过低");
- break;
-
- case Intent.ACTION_BATTERY_OKAY:
- displayMsg("电量满");
- break;
-
- case Intent.ACTION_POWER_CONNECTED:
- displayMsg("电源接通");
- break;
-
- case Intent.ACTION_POWER_DISCONNECTED:
- displayMsg("电源断开");
- break;
- }
- }
- };
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。