Я разрабатываю приложение, которое работает на API 7 и выше, поэтому я должен использовать NotificationCompat.Builder
вместо уведомления, потому что он устарел в более высокой версии. Это отлично работает на эмуляторе, но при тестировании на моем устройстве не было notification
. Пожалуйста, помогите мне. NB: Это не представляется возможным использовать только в API для API 7 до 14. Я хотел бы знать, потому что мое устройство использует API 7Уведомление о работе с эмулятором, но не на моем устройстве
1
A
ответ
2
попробовать эту функцию - она работает на Android 2 до 4:
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
public static void pushNotification(final Context context,
int icon, String name, String descr, Intent activityIntent) {
NotificationManager notifyMgr =
(NotificationManager)context.getSystemService(
Context.NOTIFICATION_SERVICE);
long when = System.currentTimeMillis();
PendingIntent pIntent = PendingIntent.getActivity(
context, 0, activityIntent, 0);
Notification notification = null;
if (android.os.Build.VERSION.SDK_INT < 11)
notification = getNotification8(context,
icon, name, descr, when, pIntent);
else notification = getNotification11(context,
icon, name, descr, when, pIntent);
notifyMgr.notify(NOTIFY_ID, notification);
}
@SuppressWarnings("deprecation")
private static Notification getNotification8(Context context,
int icon, String name, String descr,
long when, PendingIntent pIntent) {
Notification notification = new Notification(icon, name, when);
notification.setLatestEventInfo(context, name, descr, pIntent);
notification.flags |= Notification.FLAG_AUTO_CANCEL;
return notification;
}
@TargetApi(11)
private static Notification getNotification11(Context context,
int icon, String name, String descr,
long when, PendingIntent pInten) {
Notification notification = new Notification.Builder(context)
.setTicker(name)
.setContentTitle(name)
.setContentText(descr)
.setSmallIcon(icon)
.setContentIntent(pInten)
.setAutoCancel(true)
.setWhen(when)
.getNotification();
return notification;
}
Смежные вопросы
- 1. Теневой слой работает с эмулятором, но не на самом устройстве
- 2. Android SQLiteDatabase работает с эмулятором, но не на реальном устройстве
- 3. Приложение не работает на устройстве, но работает над эмулятором genymotion
- 4. Уведомление о вибрации только на носимом устройстве
- 5. Не удалось обновить apk на моем устройстве
- 6. Уведомление GCM Android, полученное на устройстве, но не отображающее
- 7. Уведомление о Firebase, не отображаемое на устройстве Android
- 8. Уведомление о моем уведомлении о часах
- 9. NSLog выводит на консоль при работе на симуляторе iphone, но не при работе на устройстве
- 10. Почему __stack_chk_fail происходит при работе с ipa, но не при работе на устройстве в Xcode?
- 11. Push-уведомление не отображается на устройстве
- 12. Уведомление о работе окна в Java
- 13. GCM Уведомление о получении внезапно остановилось на устройстве
- 14. Push-уведомление не принимается на устройстве
- 15. Android - Сервер просит работать с эмулятором, но не по телефону
- 16. apk работает с эмулятором, но получает сообщение не установленное на устройстве
- 17. Уведомление Android GCM не отображается на устройстве
- 18. Стиль отображается в эмуляторе, но не на моем устройстве
- 19. PhoneGap - Ajax XmlHttpequest работает над эмулятором | настольный браузер, но не на устройстве
- 20. Элементы навигации работают в эмуляторе, но не на моем устройстве
- 21. Документы/изображения отображаются в симуляторе, но не на моем устройстве
- 22. Вопрос о периодической работе над семью, но не на xp
- 23. Показать уведомление о нашей заявке на устройстве Android Wear
- 24. Gradle восстанавливает штраф, но дает исключение при работе на устройстве
- 25. Получить уведомление о сбоях в работе с низкой памятью
- 26. jQuery не работает на моем устройстве
- 27. textCapSentences работает на эмуляторе, но не работает на реальном устройстве
- 28. Не удалось вернуться к моей работе после съемки с фотоаппаратом на моем устройстве
- 29. Android Call Filter работает на моем устройстве, но не на клиентском устройстве
- 30. Ошибка при работе lifync на устройстве
Спасибо Matreshkin, все, что мне нужно, это API, который работает для всех. –