问题标签 [android-service]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 如何从后台服务更新多个 Android Activity 中的 UI
有什么办法可以从后台服务更新 4 个活动 UI?我有 4 个活动和 4 个图像视图,我想每 30 秒更新一次图像。所有活动都应该一起更新。任何人都可以告诉我如何做到这一点?
android - 在单独的线程上运行的 android 服务
我有一个使用广播接收器在启动时启动的应用程序,我还有一个活动和一个进程,因为该服务必须始终在后台运行我正在使用 android:process 清单标记在它自己的进程上启动该服务。
ui 仅用于演示需求,我希望即使活动不活动,用户也能够运行服务。
我正在使用这个额外的参数启动服务:
问题是当我按下后退按钮或主页按钮时,活动的销毁方法被调用并且服务虽然看起来正在运行(它出现在任务管理器上)但它的行为不像预期的那样,它应该连接到网络并发送一些数据,但每次 X 次使用计时器任务,但该任务永远不会触发,因此永远不会发送数据。
android - 您是否需要实施 AIDL 以使服务在您的应用程序生命之外运行?
我有一项服务可以发送带有定时任务的通知。我需要此服务在应用程序生命周期之外运行,但我只需要在应用程序生命周期内访问服务功能。本地服务是否足够,还是我需要实施 AIDL?谢谢。
android - 在查看不同的活动时,按下主页按钮时服务仍然绑定到主要活动
好的,所以我编写的应用程序有一个服务(跟踪 GPS 数据),它有一个主要活动,它在它的方法中使用 bindService 绑定到它onStart()
,并在它的onStop()
方法中使用unbindService(ServiceConnection)
.
我还有一个活动,它是一个选项屏幕,通过按下主活动上的按钮启动。在这个选项屏幕上,我有一个复选框,上面写着“在后台运行”,如果设置为 true,则意味着当用户使用 Home 或 Back 按钮退出应用程序时,服务将继续运行,而不是打开 GPS离开。
我通过调用this.startForeground onUnbind
和来执行此操作this.stopForeground onRebind
,如果设置设置为 true,则分别停止和启动我的位置读取器onUnbind
,onRebind
如果设置为 false。
如果该服务在后台运行,它还会显示一条通知,以确保用户了解 GPS 仍在运行并耗尽他们的电量。该通知通过startForeground
和stopForeground
方法显示和停止。
因此,问题在于无论此设置是否正确,如果我正在查看选项屏幕,我希望服务继续运行,并且我不希望出现该通知。因此,如果我按下按钮进入选项屏幕,我设置一个设置为 true 的标志,如果标志为 true,则不要调用 unbindService。
这工作,除了一个小问题。如果用户在查看选项屏幕时点击主页按钮,则服务不会停止(因为它仍然绑定到主屏幕),如果它应该继续运行,则不会显示警告通知(当然,这意味着该服务仍被视为在后台)。
我应该如何让这个应用程序按照我想要的方式运行?
android - Android 可以使用 ACTION_SEND 来调用一个 Service
我已经成功地能够使用 ACTION_SEND 意图,当在图库中按下共享按钮时,它会在列表中显示我的应用程序。我的应用程序基本上将选定的图片发送到我的计算机,并且不需要用户进一步输入表格。而不是在列表中选择时启动我的应用程序,这是一个不必要的步骤,是否可以将数据传递给我自己的发送图片并避免启动我的应用程序的服务?
如果不是,我还有什么其他选择?启动我的应用程序,发送图片并关闭活动?
android - 从服务触发 android 硬件事件
是否可以从服务触发硬件事件?至少,我希望模拟轨迹球运动和点击事件,以便活动应用程序正常处理它们。
非常感谢。
android - 如果我的 android 应用程序没有 UI,我应该在单独的线程中工作吗?
我的应用程序本质上是一个在启动时启动的服务(由启动完成的接收器),应该定期收集数据,通过网络发送数据,然后进入睡眠状态(可能使用 AlarmManager)。它没有任何活动 - 没有任何 UI。
是否有任何理由产生一个额外的线程来执行应用程序逻辑?如果没有,我应该在哪里执行逻辑?在 OnStart 方法中?
android - 示例:使用消息传递在 Activity 和 Service 之间进行通信
我找不到任何关于如何在活动和服务之间发送消息的示例,而且我花了太多时间来弄清楚这一点。这是一个示例项目供其他人参考。
此示例允许您直接启动或停止服务,并分别与服务绑定/取消绑定。当服务运行时,它会以 10 Hz 的频率递增一个数字。如果活动绑定到Service
,它将显示当前值。数据以整数和字符串的形式传输,因此您可以了解如何以两种不同的方式进行传输。活动中还有用于向服务发送消息的按钮(更改增量值)。
截屏:
AndroidManifest.xml:
res\values\strings.xml:
资源\布局\main.xml:
src\com.exampleservice\MainActivity.java:
src\com.exampleservice\MyService.java:
android - Messenger 类的使用会取代 AIDL 服务吗
在构建和使用远程服务时,Messenger 类是 AIDL 的替代品吗?如果是,Messenger 是否为我将与处理程序消息的自定义命令相关联的方法处理线程安全?当然不是,服务会跟踪哪个客户端需要哪个方法(线程安全方法),但是这里的远程服务示例http://developer.android.com/reference/android/app/Service.html#RemoteMessengerServiceSample 让我感到困惑?
android - 在 Android 中创建服务
我正在创建我的第一个 android 应用程序,我需要使用一项服务。UI 将有一个复选框(CheckBoxPreference),用于打开/关闭服务,并且该服务只能由我的应用程序访问(无需共享)。
到目前为止,此功能的 UI 已准备就绪,我知道如何响应该事件。我不知道,如何创建服务或如何连接到它?
这个想法是服务继续侦听事件并在后台响应它们,并且应用程序仅用于打开/关闭它或更改某些设置。
我在网上找了教程,但我似乎没有得到这个过程。