gpt4 book ai didi

Android: startServiceForResult 方法

转载 作者:行者123 更新时间:2023-11-29 00:03:28 25 4
gpt4 key购买 nike

Android 中是否有类似 startServiceForResult 的调用,就像我们有 startActivityForResult 一样?

我已经创建了一个服务来从 Web API 检索数据,现在我想使用该数据填充一个 ListView

我注意到使用 Broadcast Receiver,我唯一的方法是 onReceive,它有 void 数据类型,因此我不能用我收到的数据正确地扩充我的列表。

在没有 startServiceForResult 的情况下,如果我在 startActivityForResult 方法调用中传递一个服务,它是否有效并且可以正常工作?

最佳答案

没有。改用广播

在你的 Activity 中

private BroadcastReceiver  BReceiver = new BroadcastReceiver(){

@Override
public void onReceive(Context context, Intent intent) {
//put here whaterver you want your activity to do with the intent received
}
};

protected void onResume(){
super.onResume();
LocalBroadcastManager.getInstance(this)
.registerReceiver(bReceiver, new IntentFilter("message"));
}

protected void onPause (){
super.onPause();
LocalBroadcastManager.getInstance(this)
.unregisterReceiver(bReceiver);
}

服务中

private void sendBroadcast (boolean success){
Intent intent = new Intent ("message"); //put the same message as in the filter you used in the activity when registering the receiver
intent.putExtra("success", success);
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
}

关于Android: startServiceForResult 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46445473/

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