Java Android-如何在服务和命令行之间通信
我想制作一个在后台运行的android应用程序,从我的bash脚本接收字符串Java Android-如何在服务和命令行之间通信,java,android,service,Java,Android,Service,我想制作一个在后台运行的android应用程序,从我的bash脚本接收字符串 应用程序使用该字符串显示带有文本的祝酒词 但是我不知道如何将字符串发送到应用程序,也不知道如何接收字符串 请提供帮助您可以通过am使用Intent并将其发送到您的服务。这看起来像: adb shell am startservice -a com.yourpackage.action.name.SHOW_TOAST -e text "i did it" .... @Override public void onSt
应用程序使用该字符串显示带有文本的祝酒词
但是我不知道如何将字符串发送到应用程序,也不知道如何接收字符串
请提供帮助您可以通过
am
使用Intent
并将其发送到您的服务。这看起来像:
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();
}
....
您的服务可能如下所示:
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>
该类应称为SHOW\u TOAST或什么?不,这是Intent action的名称。我已经更新了答案。我在回答之前已经测试过了。因此,如果有什么东西不适合你,请告诉我。但现在我想知道如何停止你应该阅读的服务。它很好地描述了服务是如何工作的。