Mümkün olduğu kadar StatusBarNotification
-object kadar bilgi almak istiyorum. Şu anda, erişilebilen tek "güvenilir" bilgi tickerText
-mülkiyeti. Ben bildirim başlığı ve metni RemoteViews
yoluyla, ancak çok zaman, unvan almak için aşağıdaki kodu kullanıyorum ve/veya metin sadece boş :-(olacak: (Güvenli bir şekilde alınma yöntemi StatusbarNotification ayrıntıları (başlık, bildirim metni)
//Get the title and text
String mTitle = "";
String mText = "";
try {
RemoteViews remoteView = sbn.getNotification().contentView;
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
ViewGroup localView = (ViewGroup) inflater.inflate(remoteView.getLayoutId(), null);
remoteView.reapply(getApplicationContext(), localView);
TextView tvTitle = (TextView) localView.findViewById(android.R.id.title);
TextView tvText = (TextView) localView.findViewById(16908358);
mTitle = (String)tvTitle.getText();
mText = (String)tvText.getText();
} catch (Exception e){
Log.e(TAG, "Error getting notification title/text: " + e);
}
herhangi bir alternatif var mı Gmail, SMS, vb. gibi "popüler" bildirimler için kaynak kimliklerini "el-kodu" yapabilirdim, ancak bu uygulamalar güncellendiğinde herhangi bir anda kırılabilir. Teşekkürler!
sayesinde, alanv, bu gerçekten ilginç! Diğer paketlerdeki kaynakların adları (ve kimlikleri) her zaman değişebileceğinden, bunun "kabul edilebilir" bir yaklaşım olacağını düşünmedim. En popüler uygulamanın başlık/özet bildirim metin alanlarının kaynak kimliklerini el ile oluşturmaya çalışacağım. – Nick
@ Bunu nasıl yapacağınıza dair herhangi bir fikri kaçırmayın? Ayrıca, düzen kaynağı kimliğini şişirmeye çalışırken çoğu kez istisnalar atılır. – nhaarman
@Niek, Çözümü tamamladıktan sonra burada paylaşacağım. Yerleşim-enflasyon istisnalarını da alıyorum: - /. TextView kimliklerini (önceden gerçek düzeni önceden şişirmeden) yerleştiren bir başka çözüm gördüm. Onu tekrar bulabilir miyim göreceğim. – Nick