我的应用程序目前有2项服务和1项活动。我的第一项服务称为传感器,只返回手机传感器的所有值。然后我有一个名为Waypoint的第二个服务,它必须向我的Arduino卡发送命令,让我的机器人到达一个航路点。因此,在某种程度上,Sensor会将值发送给Waypoint。此外,我将Waypoint绑定到我的Activity以“看到”发送的命令。但是,我不知道如何让我的2个服务进行通信(如何将传感器的值发送到我的Waypoint服务?),是否有人会有相关的教程?我只看过有关服务和活动之间沟通的教程......
谢谢大家!
PS:对不起我的英文......
编辑:
感谢您的回答!
我刚刚做了你们所说的但似乎没有工作(我没有错误,但没有显示,我想给你我的代码,但它太长了......)。好吧,如果你有勇气:http://paste.tgl0be.org/?id=10458。
以下是我要做的事情:
但是什么都没有显示......有人会对这个问题有所了解吗? (显然是读过我的代码的人)
我不知道我是否尊重论坛规则,确实我认为我没有回答我的问题......如果是的话,抱歉......
再次抱歉我的英文
新编辑:
我终于可以得到一些结果,实际上总是0 ...我想知道我的接收器是否已经很好地声明到我的AndroidManifest中,因为我的接收器是Waypoint的内部类,这是我的代码:
<?xml version="1.0" encoding="utf-8"?>
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Connexion"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver class=".Waypoint$Receiver" android:name=".Waypoint$Receiver">
<intent-filter>
<action android:name="android.intent.action.EVENT_ACTION" />
</intent-filter>
</receiver>
<service android:name=".Sensors" android:enabled="true"/>
<service android:name=".Waypoint" android:enabled="true"/>
</application>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_GPS" />
<uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS" />
<uses-permission android:name="android.permission.LOCATION" />
我认为不是,它可以解释这个问题。 “$”符号用于内部静态类,而我的Receiver不是静态的。有谁知道如何在AndroidManifest中声明一个非静态内部类?
答案 0 :(得分:2)
由于您的传感器服务与Waypoint服务异步通信,因此您可以让传感器服务使用额外数据(传感器数据)发送广播,并且Waypoint服务会注册BroadcastReceiver以获取这些广播。
答案 1 :(得分:0)
您可以对Activity&lt; - &gt;使用相同的通讯技巧两项服务之间的服务。我建议将http://developer.android.com/reference/android/app/Service.html#LocalServiceSample作为一种方法:传感器服务将绑定到Waypoint服务,然后可以将值发送给它。