Android四大组件之--BroadcastReceiver,监测手机电量变化

来源:互联网 发布:网上淘宝刷单兼职 编辑:程序博客网 时间:2024/04/28 14:09

Android四大组件之--BroadcastReceiver广播,监测手机电量变化

MainActivity.Java

package com.example.week4_day5_bettery;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.content.IntentFilter;import android.view.Menu;/** * 检测电量变化 */public class MainActivity extends Activity {private MyBattery myBattery=new MyBattery();    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //意图过滤器        IntentFilter filter=new IntentFilter();        //添加检测电量变化的权限        filter.addAction(Intent.ACTION_BATTERY_CHANGED);       registerReceiver(myBattery, filter);    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.main, menu);        return true;    }    }
监测电量的类

package com.example.week4_day5_bettery;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.widget.Toast;public class MyBattery extends BroadcastReceiver{@Overridepublic void onReceive(Context context, Intent intent) {if(Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())){int level = intent.getIntExtra("level", 0);//获取电量等级int scale = intent.getIntExtra("scale", 0);//获取总电量int current=(level*100/scale);//获得当前电量的百分比Toast.makeText(context, "手机还有"+current+"%的电", Toast.LENGTH_SHORT).show();}}}


0 0
原创粉丝点击