Android-如何在服务和命令行之间进行通信

时间:2011-12-23 07:50:39

标签: java android service

我想让一个在后台运行的Android应用程序从我的bash脚本中接收一个字符串 该应用程序使用该字符串来显示带有文本的祝酒词 但我不知道如何将字符串发送到应用程序,也不知道如何重新接收字符串
请帮忙

1 个答案:

答案 0 :(得分:6)

您可以通过Intent使用am并将其发送给您的服务。这看起来像是:

adb shell am startservice -a com.yourpackage.action.name.SHOW_TOAST -e text "i did it"

您的服务可能如下:

....

@Override
public void onStart(Intent intent, int startId) {
    Toast.makeText(this, "Text: " + intent.getStringExtra("text"), Toast.LENGTH_LONG).show();
}
....

并在AndroidManifest.xml添加下一个条目:

 <service  android:name="com.yourpackage.SomeService">
     <intent-filter>
            <action android:name="com.yourpackage.action.name.SHOW_TOAST" />
     </intent-filter>
 </service>