我使用commonsware WakefulIntentService
做清醒的工作。 從支持庫中使用commonsware library而不是WakefulBroadcastReceiver
有什麼優勢嗎?WakefulBroadcastReceiver支持庫vs cwac -commonsware喚醒
這是使用詢問服務庫
import android.support.v4.content.WakefulBroadcastReceiver;
public class SimpleWakefulReceiver extends WakefulBroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// This is the Intent to deliver to our service.
Intent service = new Intent(context, SimpleWakefulService.class);
// Start the service, keeping the device awake while it is launching.
Log.i("SimpleWakefulReceiver", "Starting service @ " + SystemClock.elapsedRealtime());
startWakefulService(context, service);
}
}
public class SimpleWakefulService extends IntentService {
public SimpleWakefulService() {
super("SimpleWakefulService");
}
@Override
protected void onHandleIntent(Intent intent) {
Log.i("SimpleWakefulReceiver", "Completed service @ " + SystemClock.elapsedRealtime());
SimpleWakefulReceiver.completeWakefulIntent(intent);
}
}
This是文檔我的代碼。
- 它們之間有什麼不同?
- 我應該在哪裏使用commonsware庫而不是suport 庫?
他們解決了同樣的基本問題。 'WakefulBroadcastReceiver'至少在理論上可以(使用常規的'Service'使用(小心!),因此它更加靈活。它也是Android支持包的一部分,您可能已經在使用其他的東西,因此它可以爲您節省依賴。 OTOH,在2008年4月至2013年8月之間,「WakefulBroadcastReceiver」不存在,所以WakefulIntentService是最主要的選擇。 – CommonsWare
@CommonsWare,我在幾個月前看到你更新了lib。目前,你的lib比WakefulBroadCastReceiver更好嗎? – CauCuKien
@CauCuKien:Rob的回答在總結差異方面做得很好。除此之外,我不知道你認爲「更好」是什麼意思。 – CommonsWare