如何将数据从android Service(从onStart或OnCreate)传递到android Activity

发布于 2024-11-08 20:01:29 字数 178 浏览 0 评论 0原文

如何将数据从 android Service(从 onStart 或 OnCreate)传递到 android Activity。我想使用 setResult(RESULT_OK,intent) 将数据从服务内部传递到发送者(服务启动的活动)到 OnActivityResult() 方法。

How to pass data from android Service (from onStart or OnCreate) to android Activity. I would like to pass data from inside the service using setResult(RESULT_OK,intent) to the sender (service started activity) to OnActivityResult() method.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

尤怨 2024-11-15 20:01:29

您从服务启动活动吗?如果是这样,为什么不能将数据放在意图中?

Intent intent = new Intent(context, MyActivity.class);
intent.putExtra("DataToBePassed", "some data here..");
startActivity(intent);

setResult 仅当您通过 startActivityForResult 启动活动并在调用的活动中设置结果时才有效。不在服务上,服务才是得到结果的人。

请阅读 http://developer.android.com/guide/topics/intents /intents-filters.html 了解更多信息。

Do you start the activity from the service? if so why cant you just place the data inside the intent?

Intent intent = new Intent(context, MyActivity.class);
intent.putExtra("DataToBePassed", "some data here..");
startActivity(intent);

setResult is only when you start the activity via startActivityForResult and you set the result in the activity that is called. not on the service, the service is the one that will get the result.

do read http://developer.android.com/guide/topics/intents/intents-filters.html for more info.

只为一人 2024-11-15 20:01:29

您可以使用界面。
喜欢

public interface YourCallback {
    public void onSuccess(String result);
}

然后在任何地方使用。我使用了我的 onPostExecute 方法。

yourCallback.onSuccess(result);

并使用 Activity oncreate

new YourAsyncTask(new YourAsyncTas() {

     @Override
     public void onSuccess(String result) {
      yourGlobalFeald=result;

     }
    }).execute(if you want to use executable method);

You can use interface.
Like

public interface YourCallback {
    public void onSuccess(String result);
}

Then use in anywhere .I used om my onPostExecute method.

yourCallback.onSuccess(result);

And use activity oncreate

new YourAsyncTask(new YourAsyncTas() {

     @Override
     public void onSuccess(String result) {
      yourGlobalFeald=result;

     }
    }).execute(if you want to use executable method);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文