我想为体育网络服务编写某种后台实时报价器应用程序......我希望我的应用程序能够一直调用 TIME_TICK。
顺便说一句:我也尝试使用 AlarmManager,但问题是一样的。
但现在我的问题...
我将带有服务的接收器用于执行部分。注册后每分钟正确调用接收器。但是每天晚上服务都会终止,并且永远不会再被调用。
在 Android 2.x 上一切正常,但 Android 4.x 每天都会停止接收器……有没有可能让应用程序在 Android 4.x 上保持活跃?
Revever 在我的 Main-Activity 中注册:
registerReceiver(new MyReceiver(), new IntentFilter(Intent.ACTION_TIME_TICK));
清单条目:
<service android:name="de.pepdev.MyService" />
<receiver android:name="de.pepdev.MyReceiver">
<intent-filter>
<action android:name="android.intent.action.TIME_TICK" />
</intent-filter>
</receiver>
接收器等级:
public class MyReceiver extends BroadcastReceiver
{
public static long nextExecTime = 0;
public static Calendar currentTime = Calendar.getInstance();
@Override
public void onReceive(Context context, Intent intent)
{
currentTime = Calendar.getInstance();
if(nextExecTime <= currentTime.getTimeInMillis())
{
Intent service = new Intent(context, MyService.class);
context.startService(service);
}
}
}