gpt4 book ai didi

安卓服务完全停止

转载 作者:行者123 更新时间:2023-11-29 21:34:44 26 4
gpt4 key购买 nike

我有一个 android 服务需要停止并重新启动。在服务的 onDestroy() 中,我有一些清理代码可能需要一段时间才能执行。

是否可以通知正在使用该服务的应用程序它已完成 onDestroy() 的执行?或者应用程序可以做些什么来检查 onDestroy() 是否已完成执行?

最佳答案

是的,在onDestroy()方法中使用广播!

Intent intent = new Intent( "Service_destroyed" );
// You can also include some extra data.
intent.putExtra("message", "Service is destroyed!");
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);

这将通知其他 Activity 。请务必在 Activity 中先注册广播,不再需要时注销。

注册:

LocalBroadcastManager.getInstance(this).registerReceiver(mServiceDestroyedReceiver, new IntentFilter(  "Service_destroyed"  ));

这里是捕捉广播的方法:

private BroadcastReceiver mServiceDestroyedReceiver= new BroadcastReceiver() {

@Override
public void onReceive(Context context, Intent intent) {
// Get extra data included in the Intent
String message = intent.getStringExtra("message");
Log.d(TAG, "Service is destroyed message: " + message);
}
};

取消注册广播接收器:

LocalBroadcastManager.getInstance(this).unregisterReceiver( mServiceDestroyedReceiver);

关于安卓服务完全停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18648529/

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