有谁知道在android中获取电话服务状态(IN_SERVICE,OUT_OF_SERVICE,EMERGENCY_ONLY,POWER_OFF)的方法。
我希望有一个广播接收器来识别这些变化,但我找不到任何东西。我知道有一个侦听器,但我不确定如何从我的应用程序中使用它,因为它使用 WakefulIntentService (由 thecommonsguy 提供)作为服务运行。
对于电池电量(即 BATTERY_LOW、BATTERY_OKAY)之类的东西来说,这很容易,但我只是无法为电话服务更改找出类似的东西。
注册一个接收者
public static final String ACTION_SERVICE_STATE_CHANGED = "android.intent.action.SERVICE_STATE";
当你对你的接收器感兴趣时,只需使用下面来自 Android 源代码的小技巧
public void onReceive(Context context, Intent intent) {
int state = intent.getExtras().getInt("state");
if(state == ServiceState.STATE_IN_SERVICE)
{
//Do whatever you want
}
}
检查服务源状态类http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/1.5_r4/android/telephony/ServiceState.java#ServiceState.setFromNotifierBundle%28android.os.Bundle%29
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)