Android::如何在时间x重新启动服务并运行特定功能
问题 我想知道一些像主题所说的概念 这样做的要求是什么 我认为PendingEvent和AlarmManager将有助于重新启动服务 但我不知道如何让它调用我需要的函数 请给我一些建议 比如说 我的服务类中有2个函数,我想注册它 要运行这两个选项中的一个,取决于用户将来在时间x提出的建议 一些我用来编辑的代码Android::如何在时间x重新启动服务并运行特定功能,android,service,alarmmanager,android-pendingintent,Android,Service,Alarmmanager,Android Pendingintent,问题 我想知道一些像主题所说的概念 这样做的要求是什么 我认为PendingEvent和AlarmManager将有助于重新启动服务 但我不知道如何让它调用我需要的函数 请给我一些建议 比如说 我的服务类中有2个函数,我想注册它 要运行这两个选项中的一个,取决于用户将来在时间x提出的建议 一些我用来编辑的代码 AlarmManager应该工作吗?你试过了吗?是的,但我不知道如何让它在我的函数中运行OK你能显示你试过的任何代码吗?我试过一些方法,比如编辑问题,让它在一定时间内调用某些活动。现在我正
AlarmManager应该工作吗?你试过了吗?是的,但我不知道如何让它在我的函数中运行OK你能显示你试过的任何代码吗?我试过一些方法,比如编辑问题,让它在一定时间内调用某些活动。现在我正在尝试使用服务OK它是在x秒后启动的吗?
public class MyActivity extends Activity implements View.OnClickListener {
private Button b1;
/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
b1 = (Button)findViewById(R.id.cmd1);
b1.setOnClickListener(this);
}
@Override
public void onClick(View view) {
startIntentAt(5,MyReceiver.class);
finish();
}
private void startIntentAt(int seconds, Class<?> c) {
Intent myIntent = new Intent(getBaseContext(), c);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getBaseContext(),0, myIntent, 0);
AlarmManager alarmManager= (AlarmManager)getSystemService(ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.SECOND, seconds);
//long interval = 60 * 1000; //
alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
}
public class MyReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Intent scheduledIntent = new Intent(context, TargetActivity.class);
scheduledIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(scheduledIntent);
}
}
}