java - BroadcastReceiver 中的 EditText

标签 java android notifications broadcastreceiver

我正在使用 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/

相关文章:

android - 防止多个通知声音android

java - 确保输入不为空

java - 如何自定义 spring-data Repository 方法名称?

ios - 报亭推送通知未启动应用程序

java - 类继承

java - 空指针异常 : Trying to make an android app for 3x3x3 tic tac toe

java - 如何让通知在 Activity 中打开 View ?

java - 不寻常的 "static"方法声明

java - Spring Thymeleaf 将用户路由到/users/{thisUser}/thisUsersCollectionOfThings

安卓 4.4.2 上的安卓 NoClassDefFoundError