timer的定时器必须要handle线程进行处理吗?直接在run里面运行toast直接闪退,在handle里面写没问题
alarmmanage,不管广播里面是什么都闪退,什么原因呢?
在Androidmanifest添加了广播接收类
public class alarmreceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// Toast.makeText(context, "yes", Toast.LENGTH_SHORT).show();
Log.e("","1");
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SimpleDateFormat formatter = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Date curDate = new Date(System.currentTimeMillis());//获取当前时间
String str = formatter.format(curDate);
Toast.makeText(this, str, Toast.LENGTH_SHORT).show();
Log.e("e",str);
Calendar calendar=Calendar.getInstance();
calendar.setTime(curDate);
calendar.add(Calendar.MINUTE,20);
Intent intent=new Intent(MainActivity.this,alarmreceiver.class);
intent.setAction("short");
PendingIntent sender=PendingIntent.getBroadcast(MainActivity.this,0,intent,0);
AlarmManager alarmManager=(AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),sender);
}