İşte senaryo: Bir ağ bilgisayarına veya buluta bir yedekleme yapan bir WakefulBroadcastReceiver var. Tabletin LAN'a erişebileceğini bildiğimde, gecenin ortasındaki 'un ortasında gitmeye ayarlı. Yedekleme, verileri bir konuma ve Depolama Erişimi Çerçevesini kullanarak WakefulBroadcastReceiver, 'u başlatan parça tarafından "seçildiği" bir dosyaya depolar. Bu yüzden ContentResolver'a erişebilmem ve bu bağlama ihtiyacım var. pek başka oluyor olduğunda arka planda yapılmalıdır potansiyel uzun çalışan görev - tüm belgeleri benim okuma itibarenBir Intent Hizmeti'nde Bağlam nasıl edinilir
, bu BroadcastReceiver için kullanılacak kastedilen budur. - Yedekleme gibi. Ben sadece her şeyi bir araya getiren hiçbir örnek görmedim.
İçeriği bir IntentService'de nasıl edinebilirim? Burada , alıcının ve programlama servisinin bir pasajıdır.
public class BackupAlarmReceiver extends WakefulBroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent service = new Intent(context, BackupSchedulingService.class);
startWakefulService(context, service);
}
}
public class BackupSchedulingService extends IntentService {
public BackupSchedulingService() {
super("BackupSchedulingService");
}
@Override
protected void onHandleIntent(Intent intent) {
Bundle extras = intent.getExtras();
// How to get the context - it was a parameter when
// creating the new IntentService class above?
}
}
örnek kod hemen hemen burada tam olarak Android referans manuel kod aşağıda:
https://developer.android.com/reference/android/support/v4/content/WakefulBroadcastReceiver.html
'getApplicationContext()' ile 'this' arasındaki fark nedir? – Zapnologica
"korunan void onHandleIntent (Intent intent) {" 'da değil, IntentService yapıcısında değil –
@Moises içinde çalışmaktadır "Nedenini açıklayabilir misiniz? – SLearner