我有两个申请。 一个app有Activity,另一个是后台服务。
我可以使用隐式意图过滤器从我的活动应用访问服务应用。
我需要从服务中收到结果。
例如:
从活动应用程序,我将启动服务并发送数据。 在服务应用程序中,我需要接收数据并进行一些检查,并需要返回活动应用程序作为修改结果。
我可以通过 putExtra 发送,并且能够通过 getExtra 在服务中检索它。我需要从服务返回一个值并在活动应用程序中接收它。
PS:我需要的是,与我们使用活动结果完成()和 onActivityResult()的方式相同。
先感谢大师......
答案 0 :(得分:2)
首先添加一个这样的类:
package com.test.context; //For example
public class MyContext extends Application
{
//Here you define the attributes to share through the application
// with setters and getters
}
并在AndroidManifest.xml中添加该类的路径, 在这个例子中是com.test.context所以:
<application android:name="com.test.context.MyContext"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name">
然后在你的代码中你可以这样做:
MyContext ctx = (MyContext)getApplication();
您将能够在所有app,btw活动和服务中共享数据,我在Tasker中这样做,并且工作正常。
答案 1 :(得分:1)
为什么你希望在有完美工作的活页夹协议时通过意图进行交流。
http://developer.android.com/guide/topics/fundamentals/bound-services.html
如果某个活动使用'bindService()'启动服务,那么该服务将一直运行,直到该活动调用'unbindService()'。