问题标签 [android-service-binding]

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.

0 投票
1 回答
21 浏览

android - 所以我有一个绑定服务,有没有办法可以在活动的 onResume 中使用该服务?

代码:

尝试获取用户信息,但服务为空,因为它尚未绑定。解决此问题的最佳方法是什么?我可以在 onServiceConnected 方法中进行 API 调用,但必须有更好的方法。

0 投票
1 回答
2457 浏览

android - 将图像转换为字节数组以便将图像上传到服务器 Android

我有图像的 SD 卡路径。现在将图像转换为字节数组的下一步是什么,因为我想将图像上传到服务器?

提前致谢。

0 投票
1 回答
681 浏览

android - Android - 如果我在绑定后尝试使用其方法,则应用程序崩溃

我在尝试制作 Android 应用程序时遇到了问题。我创建了一个服务供我的主要活动使用。按照我在互联网上找到的指南,我对onStart函数进行了绑定。

在我推荐绑定之后,仍然在onStart函数内部,我尝试调用绑定服务的一个方法,该方法检查是否有与 Internet 的连接。但是,此时应用程序崩溃。正如您所注意到的,我添加了对绑定是否成功的检查,结果是成功的,这使事情变得更加混乱。

我已经为应用程序提供了正确的权限,如果我通过事件(例如按下按钮)启动它们,服务的方法实际上可以工作。但是,有些任务我想在应用程序启动时自动完成,而不是在用户交互之后。有什么建议么?

0 投票
4 回答
11174 浏览

java - 每次我声明并运行两个服务时都会获取 java.lang.ClassCastException: android.os.BinderProxy

每次我声明并运行两个服务时,我都会遇到以下 binder.proxy 异常。一个服务在不同的进程中运行(专用于应用程序),而另一项服务在与我的应用程序运行的相同进程中运行(默认应用程序进程),并带有 Binder 实现。

AndroidManifest.xml:

我在 MainActivity on Button click 上启动我的第一个服务:

MainActivity.java

和 MainApplication 类中的第二个服务一样。

MainApplication.java

第一服务.java

第二服务.java

堆栈跟踪:

我参考了以下链接来解决问题,如果我的活动和服务在不同的进程中,那么我们不应该按照我的方式绑定。

Android服务android.os.BinderProxy错误

java.lang.ClassCastException:android.os.BinderProxy 不能转换为 LocalBinder

但就我而言: 我从MainApplication绑定到SecondService ,并且两者都在同一个进程中运行(即默认应用程序进程)。我仍然在SecondService中面临 binderProxy 异常,而我的FirstService在单独的进程中运行,我什至没有绑定到该进程。

请帮助我解决这种情况,并建议我最好的方法,以便我可以在没有任何崩溃的情况下实现相同的场景。

0 投票
1 回答
1781 浏览

android - 停止前台服务重新启动

我有一个前台服务,我在其中注册位置更新,以及电池意图的意图过滤器Intent.ACTION_BATTERY_CHANGED,以及一个LocalBroadcast. onDestroy一旦该服务死亡,所有这些我都会在我的服务中删除。

我还更改了onStartCommandfrom START_STICKYto中的返回整数,START_NOT_STICKY但这没有效果。

我记录了该服务何时启动和销毁以及我的主要活动,似乎该服务只是自行启动而没有任何活动。

问题是它是一个前台服务,所以它会附带一个通知。这意味着当它再次随机启动时,用户会看到通知,我不希望服务自行运行。

所以回顾一下。
- 这是一个绑定的前台服务。
- 我返回START_NOT_STICKY-onStartCommand
当我不再需要它并关闭应用程序时,我解除绑定,调用 stopService 并调用服务的 onDestroy,这是我们取消注册所有接收器的地方。- 在此之后随机启动该服务。

0 投票
1 回答
1818 浏览

android - Android 从 Service 类更新 MediaPlayer SeekBar 位置

我制作了一个流媒体播放器,它在单独的服务而不是 MainActivity 上运行。为了在用户寻找进度时更新 SeekBar 位置,我使用了一个广播接收器,它告诉服务用户寻找的位置。之后,该服务获取搜索位置并更新 MainActivity 中 SeekBar 的当前位置。

一切正常,但是当用户快速移动 SeekBar 时,服务类会冻结 MainActivity 的 UI,并且有时会崩溃。从 Service 类更新 MainActivity 的 SeekBar 的最佳方法是什么?

代码示例。,

主要活动,

服务等级

0 投票
0 回答
162 浏览

android - UIL(通用图像加载器)和毕加索如何组织从队列中后台不同活动的图像下载?

我需要从服务器下载图像并存储在我的外部存储中。想象一下我们有不同的活动,当打开(A)活动时,我需要下载“N”个图像,而“N”个图像的下载未完成,我退出活动,(它应该继续下载和存储图像)。我切换到另一个(B)活动,应该下载并存储“M”个图像。“N”个图像的下载未完成,而应该开始下载“M”个图像,(我的意思是最近来的图像应该下载第一个),当下载“M”个图像时,它将继续下载“N”个图像的其余部分。这个过程可以继续进行多重活动。

0 投票
1 回答
497 浏览

android - 绑定到服务的活动是否会在后台继续运行?

我有一个 Activity 接收位置侦听器中的位置。此活动通过 startService() 启动服务,然后使用 bindService() 绑定到此服务,以便与服务共享数据。

绑定和取消绑定是响应 onClick 内的按钮单击完成的。就像是:

现在我的问题是,在某些时候,我的 Activity 会像按下 Home 按钮一样进入后台,并且服务继续运行并且绑定仍然完好无损!

那么这个绑定将有助于保持 Activity 在后台运行吗?

该服务是一个带有相关通知的foregroundService,当用户推送通知时,它将打开后台Activity。

0 投票
1 回答
288 浏览

android - My background music service stops when I load a new activity. Am I connecting or binding wrong?

I'm trying to add background music to my game and I thought I could persist it across activities by starting the service and then just connecting and binding to it in different activities in order to control it. But my music stops playing when I try to establish a connection from my second activity. I'm very new to working with services, so I apologize for any simple mistakes.

From my MusicService class (extends Service)

This is the code I call in both my Main and secondary activities in order to interact with the service. The music stops during the connectToMusicService function in the secondary activity. The Main activity works great.

The only thing I do during my Main activity's onStop is

UPDATE: I got it working. My issue wasn't with service binding at all. It was with static STOP_ON_DESTROY variable I was using to manage whether the music should stop when leaving an activity. I cleaned that up and all is good now. Thanks!

0 投票
1 回答
1487 浏览

android - 未生成 AIDL 方法

我需要Intent通过 AIDL 将对象传递给远程服务,我试过:

在aidl文件中:

在我的远程服务类中:

我得到编译错误The method must override or implement a supertype method

然后我检查了gen/文件夹,IMyService.java,方法没有生成。项目清理和重建没有帮助。

为什么?Android不允许以Intent这种方式传递对象吗?如果是这样,我如何将Intent对象从 Activity 传递到另一个进程中的服务?