2010-01-13 15 views
10

Próbuję użyć zdalnego adresu URL (takiego jak favikon) dla ikony powiadomienia, jednak Konstruktor dla powiadomienia akceptuje tylko identyfikator zasobu (który jest int), przeciwieństwie do czegoś sensownego jak FileInputStream. Jak mogę zdefiniować w środowisku wykonawczym nowy identyfikator zasobu dla źródła strumienia lub pobrać ikonę do moich zasobów, a następnie dynamicznie uzyskać identyfikator zasobu?Ustawienie ikony powiadomienia systemu Android na zdalny adres URL

+0

Jest tak, ponieważ zasoby można zoptymalizować, gdy nie można uzyskać dowolnych strumieni. –

Odpowiedz

4

Nie można tego teraz zrobić w systemie Android, ponieważ zasoby można ładować tylko z katalogu/res/pliku APK. Zobacz Resources and Internationalization. Katalog/res/jest tworzony podczas tworzenia pliku APK i nie można go później zmienić.

Czy oczekujesz, że ikona będzie się zmieniać na tyle często, że będziesz musiał wysłać zapytanie do adresu URL, aby upewnić się, że jest ona aktualna za każdym razem, gdy wysyłasz powiadomienie?

Większość aplikacji, które muszą zmienić swoją ikonę, po prostu wprowadzi aktualizację na rynek Android.

+0

Tak, to naprawdę nie jest opcja. Robię klienta dla http://notify.io, a powiadomienie może określać jego własną ikonę. Czy mogę nadpisać surowiec? (moje wstępne testy mówią, że nie mogę, mogę tylko czytać) – Ben

+0

Nie, nie można zastąpić surowego zasobu. Obecnie nie jest możliwe tworzenie ikon powiadomień w locie. – CommonsWare

+0

Ta strona wygląda jak Growl w Internecie, całkiem schludna. Jednak wygląda na to, że utknąłeś z wybraniem ogólnej ikony Powiadomienia i użyciem tekstu, aby poinformować użytkownika, która aplikacja dostarczyła informacje. – Dinedal

4

Ponieważ interfejs API 11 Android miał możliwość korzystania z mapy bitowej dla powiadomień w postaci largeIcon. Zostało to rozszerzone jeszcze bardziej w Jelly Bean, aby umożliwić całemu powiadomieniu być obraz, BigPictureStyle.

Powiązane problemy