Хм ... Ну, я сравнил твой код с моим кодом, который уже работает ... и я не вижу много различий ... Но, возможно, что одно из этих незначительных отличий важно.
final Notification notification = new Notification(R.drawable.icon, "Downloading", System.currentTimeMillis());
notification.flags = notification.flags | Notification.FLAG_ONGOING_EVENT;
notification.contentView = new RemoteViews(getApplicationContext().getPackageName(), R.layout.download_progress);
notification.contentView.setImageViewResource(R.id.status_icon, R.drawable.ic_status);
notification.contentView.setTextViewText(R.id.status_text, "Downloading in progress");
notification.contentView.setProgressBar(R.id.status_progress, 100, progress, false);
Intent notificationIntent = new Intent(MainPage.mainActivity, MainPage.class);
PendingIntent contentIntent = PendingIntent.getActivity(MainPage.mainActivity, 0, notificationIntent, 0);
notification.contentIntent = contentIntent;
//getApplicationContext();
final NotificationManager notificationManager = (NotificationManager) getApplicationContext().getSystemService(
Context.NOTIFICATION_SERVICE);
notificationManager.notify(NOTIFICATION_MESSAGE, notification);
Сначала я посмотрел на ваш старый код и заметил, что NOTIF_ID = 1. Я не уверен, что это хорошая идея, потому что, если кто-то еще имеет ID один.Конечно, я мог ошибиться в этом, но я просто набрал число, например 792489743, и я ожидаю, что никто другой не будет иметь такого же числа.Полагаю, это всего лишь мера предосторожности.
Во-вторых, мне не удалось узнать, правильны ли ресурсы?Что говорит трассировка стека?Я полагаю, что он просто вышел бы из этого, если бы там была проблема.
В-третьих, я поставил свою задачу как Service
вроде как
public class DownloadService extends IntentService {
//initializing code and stuff
private class DownloadTask extends AsyncTask<String, Void, Boolean> {
и я сделал это в doInBackground
Таким образом, если пользователь убил приложение или что-то в этом роде, оно не остановило бы загрузку.
Наконец, я никогда не использовал apply
Лично я не пользуюсьПосмотрим, как это будет больно, но я не видел ни одного примера, который бы его использовал.
Надеюсь, это поможет некоторым!