应用内显示时间,wifi强度,电量

1.获取时间

 mTvShowTime = findViewById(R.id.tv_show_time);
        //获取系统显示时间格式,根据不同的格式显示
        ContentResolver cv = this.getContentResolver();
        String strTimeFormat = android.provider.Settings.System.getString(cv,
                                                                          android.provider.Settings.System.TIME_12_24);

        if ("24".equals(strTimeFormat)) {
            CharSequence s = "HH:mm";
            mTvShowTime.setFormat24Hour(s);
        } else {
            CharSequence s = "HH:mm";
            mTvShowTime.setFormat12Hour(s);
        }

2.获取WIFI强度

//广播
public class NetworkStateBroadcastReceiver extends BroadcastReceiver {
	@Override
	public void onReceive(Context context, Intent intent) {
		if(intent.getAction().equalsIgnoreCase(WifiManager.WIFI_STATE_CHANGED_ACTION)){
			wifiStateChange(context, intent);
		}else{
			networkChange(context,intent);
		}
	}
	
	public void wifiStateChange(Context context, Intent intent){
		int wifi_state = intent.getIntExtra("wifi_state", 0);   
        int level = Math.abs(((WifiManager)context.getSystemService(Context.WIFI_SERVICE)).getConnectionInfo().getRssi()); 
        Log.e("network", "wifi状态:" + wifi_state + "; wifi强度:" + level);
        mWifiChange.level(level);
	}
	
	public void networkChange(Context context,Intent intent){
		ConnectivityManager manager     = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        assert manager != null;
        NetworkInfo networkInfo = manager.getActiveNetworkInfo();
		if(networkInfo != null){
			int type = networkInfo.getType();
			switch (type) {
				case ConnectivityManager.TYPE_MOBILE:
					Log.e("network", "手机网络");
				break; 
				case ConnectivityManager.TYPE_WIFI:
					Log.e("network", "wifi网络");
                    wifiStateChange(context, intent);
				break;
			}
		}else{
			Log.e("network", "没有网络");
		}
	}

    public interface  WifiChange{
	    void level(int level);
    }
    private WifiChange mWifiChange;
	public void setWifiChange(WifiChange wifiChange){
	    mWifiChange = wifiChange;
    }
}
















//获取的使用方法,在Acitivity中调用示例
//注册wifi广播 
        NetworkStateBroadcastReceiver broadcastReceiver = new NetworkStateBroadcastReceiver();
        IntentFilter                  filter            = new IntentFilter("android.net.conn.CONNECTIVITY_CHANGE");
        filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
        registerReceiver(broadcastReceiver, filter);
        broadcastReceiver.setWifiChange(new NetworkStateBroadcastReceiver.WifiChange() {
            @Override
            public void level(int level) {
                // 是一个int型数据,其中0到-50表示信号最好,-50到-70表示信号偏差,小于-70表示最差,有可能连接不上或者掉线,
                // 一般Wifi已断则值为-127。

                if (level < 52) {
                    mIvWifi.setImageResource(R.mipmap.icon_wifi_four);
                } else if (level < 60) {
                    mIvWifi.setImageResource(R.mipmap.icon_wifi_three);
                } else if (level < 70) {
                    mIvWifi.setImageResource(R.mipmap.icon_wifi_two);
                } else if (level < 120) {
                    mIvWifi.setImageResource(R.mipmap.icon_wifi_one);
                } else if (level <= 200) {
                    mIvWifi.setImageResource(R.mipmap.icon_wifi_none);
                }

            }
        });

3.获取电量

 //获取系统电量
    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
    private void getElectricity() {
        BatteryManager batterymanager = (BatteryManager) getSystemService(BATTERY_SERVICE);
        //batterymanager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY);
        assert batterymanager != null;
        int intProperty = batterymanager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY);

        mTvBattery.setText(intProperty + "%");
        if (intProperty <= 20) {
            mIvBattery.setImageResource(R.mipmap.icon_power_none);
        } else if (intProperty <= 40) {
            mIvBattery.setImageResource(R.mipmap.icon_power_one);
        } else if (intProperty <= 60) {
            mIvBattery.setImageResource(R.mipmap.icon_power_two);
        } else if (intProperty <= 80) {
            mIvBattery.setImageResource(R.mipmap.icon_power_three);
        } else {
            mIvBattery.setImageResource(R.mipmap.icon_power);
        }

    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值