Java API级别低于23时如何获得互联网速度?

Java API级别低于23时如何获得互联网速度?,java,android,networking,connectivity,Java,Android,Networking,Connectivity,我正在开发一个android应用程序,在那里可以播放音乐。现在我想了解设备的互联网速度,可能是wifi以及移动网络速度。我想根据网络速度设置音频文件的质量,也就是说,我想引入一个自动流质量选项 所以,我读了很多文章,但没有找到任何解决方案,可以针对至少最低api级别21,即安卓5.0。我在这方面找到了解决方案,但答案只适用于api级别23,即Android 6 我还发现,通过下载文件,我们可以获得互联网速度,但这可能会产生负面影响,因为我们不能每次都下载文件来检查互联网速度。我还发现,我们可以p

我正在开发一个android应用程序,在那里可以播放音乐。现在我想了解设备的互联网速度,可能是wifi以及移动网络速度。我想根据网络速度设置音频文件的质量,也就是说,我想引入一个自动流质量选项

所以,我读了很多文章,但没有找到任何解决方案,可以针对至少最低api级别21,即安卓5.0。我在这方面找到了解决方案,但答案只适用于api级别23,即Android 6


我还发现,通过下载文件,我们可以获得互联网速度,但这可能会产生负面影响,因为我们不能每次都下载文件来检查互联网速度。我还发现,我们可以ping服务器并测试速度,但我不想进行无用的网络活动,这可能会消耗用户的移动数据。

虽然这不能回答问题(很抱歉),但您为什么要这样做?我们在2020年,安卓10已经在全球推出,超过80%的设备支持安卓6或更高版本:


也许有很好的理由保持在API级别23以下,但也许你的努力可以更好地投资于其他地方?

你可以使用Facebook的网络连接类库来实时计算当前用户的互联网连接质量


是的,你是对的,但我仍然认为使用安卓5.0的用户很少,因为5.7%的用户仍然使用安卓5.0,但它已不再维护,上一次发布是在2015年。所以最好不要使用它。好的,那么你可以在服务器上保存一个文件,并在需要了解速度时尝试下载。这将给你我在问题中已经提到的速度。我不想每次都下载文件。因为需要不断检查网络速度