我正在做一个警报应用程序,我正在使用一种方法在特定时间内启动一项活动, 我在我的应用程序中有一个选项,叫做enable \ disable,当我检查禁用框时,我不希望闹钟打开活动(播放声音和我选择的图像)! 所以我正在寻找一种在活动开始之前关闭活动的方法。不要在屏幕上显示任何显示活动正在开始和结束! 我正在使用此方法在特定时间内打开特定活动
Intent myIntent = new Intent(SharedPrefs.this,MainPhoto.class);
pendingIntent = PendingIntent.getActivity(MainPhoto.this, 0, myIntent, 0);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis()+10000);
alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
对此有何帮助?
答案 0 :(得分:1)
cancelling the alarm怎么样,或者使用将要打开而不是活动的服务,检查是否需要打开活动?
答案 1 :(得分:0)
我建议将复选框作为共享首选项,然后在关闭新活动的意图之前,检查它是否已禁用...如果您确实想要启动新活动,请检查是否选中该复选框,如果是,则调用finish();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Checkbox.checked())
finish();
}
希望这会有所帮助:)
答案 2 :(得分:0)
取消闹钟可能是最好的解决方案。
可能有一些罕见的情况,在您调用活动之前,您不知道。在这些情况下,只需在finish()
setContentView
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (/* Check here if valid */) {
finish();
} else {
setContentView(R.layout.some_layout);
/* Actually do your initialization. */
}
}