我正在使用 BroadcastReceiver 在给定时间接收通知。现在我试图从 EditText 获取输入到状态栏通知中。我现在使用 LayoutInflater 进行了尝试,但就是无法正常工作。
public class AlarmBroadcastReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
notificationStatus(context);
}
private void notificationStatus(Context context) {
final NotificationManager mNotificationManager = (NotificationManager) context
.getSystemService(Context.NOTIFICATION_SERVICE);
LayoutInflater mInflater = LayoutInflater.from(context);
View myView = mInflater.inflate(R.layout.main, null);
EditText etxt_title = (EditText) myView.findViewById(R.id.etxt_title);
String n_title = etxt_title.getText().toString();
EditText etxt_message = (EditText) myView.findViewById(R.id.etxt_message);
String n_message = etxt_message.getText().toString();
final long when = System.currentTimeMillis();
final int icon = R.drawable.notification_icon;
final Notification notification = new Notification(icon, n_title + " - " + n_message, when);
final Intent notificationIntent = new Intent(context
.getApplicationContext(), Main.class);
final PendingIntent contentIntent = PendingIntent.getActivity(context
.getApplicationContext(), 0, notificationIntent, 0);
notification.defaults |= Notification.DEFAULT_SOUND;
notification.defaults |= Notification.DEFAULT_LIGHTS;
notification.setLatestEventInfo(context, n_title, n_message,
contentIntent);
mNotificationManager.notify(1, notification);
}}
你知道为什么它不能像这样工作吗?我得到的输出是空的,没有错误。
最佳答案
I'm using a BroadcastReceiver to receive a Notification at a given time.
这句话没有任何意义。 BroadcastReceivers
根本不“接收通知”。
Now I trying to get the Input from a EditText into that Status Bar Notification.
您的 EditText
需要在 Activity 中。您没有 Activity 。
I tried it now with a LayoutInflater but I just can't get it to work.
首先,BroadcastReceiver
没有用户界面。
其次,仅仅因为您使用 LayoutInflater
扩充布局,并不意味着该布局实际出现在屏幕上。为此,您需要一项 Activity 。
关于java - BroadcastReceiver 中的 EditText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5127772/