private static String reminder;
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText text = (EditText) findViewById(R.id.Name);
reminder = text.getText().toString();
btn = (Button) findViewById(R.id.button);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Calendar calendar = Calendar.getInstance();
Intent intent = new Intent(getApplicationContext(), Notifications.class);
PendingIntent pend = PendingIntent.getBroadcast(getApplicationContext(), 100, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
am.setExact(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis() + 1000, pend); //set repeating every 24 hours
}
}
});
}
public static String getRem() {
return reminder;
}
这是MainActivity类 http://pastebin.com/YPqqdY7n
这是BroadcastReciever类 http://pastebin.com/ereRAWAN
该应用显示空白通知
很抱歉没有直接在这里发布代码,因为在这里发布它有点复杂!
答案 0 :(得分:0)
提醒在onCreate中被赋予一个值。因此,如果未调用onCreate,则会将null作为文本。 最好的办法是直接初始化值:
private static String reminder = "Reminder";
我认为这很好,因为提醒的价值在你的活动中不会改变。
答案 1 :(得分:0)
我解决了..我需要做的就是声明
EditText text = (EditText) findViewById(R.id.Name);
reminder = text.getText().toString();
在onClick方法中
感谢所有帮助过的人。