私は、受信機を持っています。これは、今後、インテントサービスからブロードキャストを受信します。activity 内でレシーバーを初期化しました。
IntentService が完了するまでに時間がかかる場合があり、結果をブロードキャストするまでに携帯電話デバイスがスリープ状態になり、ブロードキャストが受信されません。
携帯電話がスリープ状態であっても、IntentService は最後まで実行され、ブロードキャスト レシーバのみが何も受信しないことを確認しました。
どうにかしてどこかで部分的なウェイクロックを取得する必要があることを知っています:(。私はこれについて暗闇の中にいます。
これは私の単純な活動であり、関連する部分のみが含まれています。
public class NewsActivity extends Activity implements OnDownloadComplete{
...
..
..
private BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
..
System.out.println("Called"); // Not printed on logcat if the cell is sleeping
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_news);
..
..
..
/*LAUNCHING SERVICE*/
Intent intent = new Intent(context, NewsSyncTask.class);
intent.putExtra( NewsSyncTask.NOTIFICATION, Footer.this.receiverNotificationClass);
context.startService(intent);
}
}
助けてください 。