gpt4 book ai didi

android - 在android中创建后台服务

转载 作者:行者123 更新时间:2023-11-30 02:36:51 26 4
gpt4 key购买 nike

我创建了一个简单的服务,它的工作是处理来电。我创建了如下服务

public class CalldetectorService extends Service {

private CallHelper callHelper;

@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {

int res = super.onStartCommand(intent, flags, startId);
callHelper = new CallHelper(this);
return res;
}

@Override
public void onDestroy() {
super.onDestroy();

//callHelper.stop();
}

在助手内部,我正在处理调用。此服务未连续在后台运行。一段时间后,它停止了。当我打开应用程序并移至后台一段时间时,它工作得很好,稍后它就无法工作了。

如何使我的服务始终在后台运行并接听来电

最佳答案

如果您不希望服务被操作系统终止:启动的服务可以使用 startForeground(int, Notification)将服务置于前台状态的 API,系统认为它是用户主动意识到的东西,因此不会在内存不足时被杀死。 (理论上服务在当前前台应用程序的极端内存压力下仍然有可能被杀死,但实际上这不应该是一个问题。)

在您的情况下,“捕获”来电最好使用广播接收器实现,该接收器在 list 中注册用于 Intent :<action android:name="android.intent.action.PHONE_STATE" />

关于android - 在android中创建后台服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26409514/

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