gpt4 book ai didi

android - 广播接收器工作但 1 或 2 小时后它不工作

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:43:29 30 4
gpt4 key购买 nike

这是我的 list

<receiver android:name=".MyCallReceiver" >
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>

public class MyCallReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(TelephonyManager.EXTRA_STATE_RINGING)) {

some code

}

if (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(TelephonyManager.EXTRA_STATE_IDLE) || intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(TelephonyManager.EXTRA_STATE_OFFHOOK)){

some code
}
}
}

它是可以工作的,但过了一段时间后,按下后​​退按钮,手机处于空闲状态,它就不再工作了

(我在我的代码末尾添加了“android.os.Process.killProcess(android.os.Process.myPid());”现在它更好并且在上次执行后可能工作 2 3 小时)

最佳答案

您可以像这样在一定时间间隔后使用警报管理器广播接收器。

public static void scheduleTestAlarmReceiver(Context context) {

Intent receiverIntent = new Intent(context, TestAlarmReceiver.class);
PendingIntent sender = PendingIntent.getBroadcast(context, 123456789, receiverIntent, 0);

AlarmManager alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime()+startDelay, someDelay, sender);

}

关于android - 广播接收器工作但 1 或 2 小时后它不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30565637/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com