如何将数据从android服务(从onStart或OnCreate)传递到android Activity
问题描述:
如何从android服务(从onStart或OnCreate)向android Activity传递数据。我想将使用setResult(RESULT_OK,intent)
的服务内的数据传递给发件人(服务启动活动)至OnActivityResult()
方法。如何将数据从android服务(从onStart或OnCreate)传递到android Activity
答
你是否从服务开始活动?如果是这样,为什么不能将数据放在意图内?
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了解更多信息。
答
您可以使用界面。 像
public interface YourCallback {
public void onSuccess(String result);
}
然后使用在任何地方。我用我的OM方法onPostExecute。
yourCallback.onSuccess(result);
而且使用活动的OnCreate
new YourAsyncTask(new YourAsyncTas() {
@Override
public void onSuccess(String result) {
yourGlobalFeald=result;
}
}).execute(if you want to use executable method);
如果出现上述情况亘古不工作,那么我能和意图代替的setResult()发送数据,因为的setResult()用于startActivityForResult ();否则我可以使用sendBroadCast()方法。 – Girish 2011-05-21 11:31:28