Java android秒表/计时器应用程序-时间用完时切换回应用程序
我正在开发一个应用程序,如标题中所述。我需要以某种方式管理应用程序将运行/计算时间,即使用户启动/切换到另一个应用程序。好吧,正如我在stackoverflow.com上的另一次讨论中所了解到的,并没有必要创建在后台工作的服务,并且当应用程序不活动时,无意义地让处理器计算时间Java android秒表/计时器应用程序-时间用完时切换回应用程序,java,android,service,timer,stopwatch,Java,Android,Service,Timer,Stopwatch,我正在开发一个应用程序,如标题中所述。我需要以某种方式管理应用程序将运行/计算时间,即使用户启动/切换到另一个应用程序。好吧,正如我在stackoverflow.com上的另一次讨论中所了解到的,并没有必要创建在后台工作的服务,并且当应用程序不活动时,无意义地让处理器计算时间 需要做的一切就是存储用户切换到另一个应用程序时的当前时间,将其与他切换回的时间进行比较,并根据这些时间之间的差异更新UI。这是秒表模式。在定时器模式下,我需要根据时间自动切换回应用程序,这是应用程序的UI在进入后台时显示。
需要做的一切就是存储用户切换到另一个应用程序时的当前时间,将其与他切换回的时间进行比较,并根据这些时间之间的差异更新UI。这是秒表模式。在定时器模式下,我需要根据时间自动切换回应用程序,这是应用程序的UI在进入后台时显示。什么是最适合这个问题的解决方案,你能给我一些简单的例子吗 使用它
AlarmManager
允许您计划任务,并在任务被触发时收到通知。因此请使用AlarmManager
public class MainActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//call function where you want
timeout();
}
public void timeout()
{ //time in milliseconds 1 minute
Long time = new GregorianCalendar().getTimeInMillis()+60*1000; //i.e.60*1000=1minute
// create an Intent and set the class which will execute when Alarm triggers, here we have
Intent intentAlarm = new Intent(this, AlarmReciever.class);
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP,time, PendingIntent.getBroadcast(this,1, intentAlarm, PendingIntent.FLAG_UPDATE_CURRENT));
}
}
这里是广播课:
public class AlarmReciever extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
// show dialog or what you want
}
}
//permission
<uses-permission android:name="com.android.alarm.permission.SET_ALARM"/>
//our receiver
<receiver android:name=".AlarmReciever"/>
别忘了编辑AndroidMainfest:
public class AlarmReciever extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
// show dialog or what you want
}
}
//permission
<uses-permission android:name="com.android.alarm.permission.SET_ALARM"/>
//our receiver
<receiver android:name=".AlarmReciever"/>
//权限
//我们的接受者
服务有什么问题???服务是更好的方法。服务是为后台长时间运行的进程提供的,不是吗?我只需要在时间用完后切换回应用程序,并显示一些警报窗口或播放声音。在AlarmReceiver类中,我应该编写代码,通过startactivity()方法切换回应用程序?是的,您可以直接切换活动或显示对话框,或播放一些声音或您想要的内容。。。