Я хотел бы получить как можно больше информации из StatusBarNotification
-объекта. В настоящее время единственной "надежной" информацией, доступ к которой является доступ, является tickerText
-property. Я использую следующий код, чтобы получить заголовок и текст уведомления через RemoteViews
, но много времени, название и/или текст просто будут иметь значение null: - (:
//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);
}
Есть ли альтернативный (более надежный) способ? Я мог бы "вручную" указать идентификаторы ресурсов для "популярных" уведомлений, таких как Gmail, SMS и т.д., Но это может сломаться в любое время, когда эти приложения будут обновлены. Спасибо!