现在的位置: 首页 > 综合 > 正文

监听电池电量,信号强度,手机状态

2013年09月11日 ⁄ 综合 ⁄ 共 1524字 ⁄ 字号 评论关闭

监听电池电量:

this.registerReceiver(this.mBatInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));

private BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver() {
public void onReceive(Context arg0, Intent intent) {
int level = intent.getIntExtra("level", 0);// 电量百分比
contentTxt.setText("BAttery : "+String.valueOf(level) + "%");
}
};

监听手机信号强度,手机状态:

TelephonyManager tm = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
//对TelephonyManager 进行监听,psl为PhoneStateListener,在 psl 中重些了一些方法
tm.listen(psl, PhoneStateListener.LISTEN_SIGNAL_STRENGTH|PhoneStateListener.LISTEN_CALL_STATE);

PhoneStateListener psl = new PhoneStateListener(){
public void onCallStateChanged(int state, String incomingNumber) {
super.onCallStateChanged(state, incomingNumber);
Log.v("zzzzzz", "onCallStateChanged : " + state + " PhoneStateListener " + incomingNumber);
}
public void onSignalStrengthChanged(int asu) {
super.onSignalStrengthChanged(asu);
signalStrengthTxt.setText("SignalStrength : "+asu);
}
public void onCallForwardingIndicatorChanged(boolean cfi) {
super.onCallForwardingIndicatorChanged(cfi);
}
public void onCellLocationChanged(CellLocation location) {
super.onCellLocationChanged(location);
}
public void onDataActivity(int direction) {
super.onDataActivity(direction);
}
public void onDataConnectionStateChanged(int state) {
super.onDataConnectionStateChanged(state);
}
public void onMessageWaitingIndicatorChanged(boolean mwi) {
super.onMessageWaitingIndicatorChanged(mwi);
}
public void onServiceStateChanged(ServiceState serviceState) {
super.onServiceStateChanged(serviceState);
}
};
各方法的具体作用可以参考android.telephony.PhoneStateListener

抱歉!评论已关闭.