您尝试使用的方法很好!虽然没有代码,但很难说你可能做错了什么。
在你的服务,你会播出这样的意图......
/**
* Send broadcast to the activity letting it know the service is active
*
* @param pActivate
*/
private final void sendServiceActiveBroadcast(final boolean pActivate) {
final Intent _intent = new Intent();
_intent.setAction("com.yourtld.android.SERVICE_BROADCAST");
_intent.addCategory("com.yourtld.android.CATEGORY");
_intent.putExtra("isactive", pActivate);
this.sendBroadcast(_intent);
}
然后在你的活动,你可以有类似...
创建一个动作字符串:
private static final String SERVICE_BROADCAST_ACTION = "com.yourtld.android.SERVICE_BROADCAST";
在您的onResume()方法中,您将拥有...
final IntentFilter serviceActiveFilter = new IntentFilter(SERVICE_BROADCAST_ACTION);
serviceActiveFilter.addCategory("com.yourtld.android.CATEGORY");
this.serviceReceiver = new BroadcastReceiver() {
@Override
public void onReceive(final Context context, final Intent intent) {
if(intent != null) {
if(intent.getBooleanExtra("isactive", false)) {
// The service is active
} else {
// False...
}
}
}
};
this.registerReceiver(this.serviceReceiver, serviceActiveFilter);
希望有帮助
请用您使用的技术标记您的问题。 – 2011-01-27 23:25:23