我创建了一个小应用程序,但我希望它在特定时间自动执行。时间必须由用户输入。
例如: 如果我的 Activity 是要启动特定游戏并输入下午 5:30 作为时间,则即使我在输入时间后关闭应用程序,它也应该在下午 5:30 自动运行该游戏。
最佳答案
为其创建一个闹钟和一个广播接收器,将其 Intent 放入 Android Manifest
看看http://blog.mikesir87.io/2013/04/android-creating-an-alarm-with-alarmmanager/
只需提前一周设置闹钟即可。
对于触摸的事情尝试这个替换:
Button stopAlarm = (Button) findViewById(R.id.stopAlarm);
stopAlarm.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View arg0, MotionEvent arg1) {
mMediaPlayer.stop();
finish();
return false;
}
});
与
Button stopAlarm = (Button) findViewById(R.id.stopAlarm);
stopAlarm.setOnClickListener(new OnTouchListener() {
@Override
public void onClick(View arg0) {
mMediaPlayer.stop();
finish();
}
});
我们不需要使用arg0或arg1的原因是我们已经知道触摸或点击来自哪里,在您有一个 Activity 范围的点击监听器(因此 Activity 实现onClickListener)的情况下,您可以使用类似的东西这个:
@Override
public void onClick(View arg0) {
switch(arg0){
case R.id.id1:
//Do what you want here
break;
case R.id.id2:
//Do what you want here
break;
default:
//Do default stuff
break;
}
}
据我了解,我相信您不需要任何这些东西,但正确吗?您只是希望您的 Activity 在这些时间运行,对吗?
所以如果我是正确的,你只需要这样做:
public class AlarmReceiverActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.alarm);
//Do what you want here
//This is now your activity to play with :D
}
}
关于android - 在特定时间触发函数(代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10459931/