【问题标题】:How to get Internet speed for API Level below 23?如何获得低于 23 的 API 级别的 Internet 速度?
【发布时间】:2020-02-09 10:24:25
【问题描述】:

我正在开发一个流式传输音乐的安卓应用。现在我想获取设备的互联网速度,它可能是 wifi 以及移动网络速度。我希望它根据网络速度设置音频文件的质量,即我想引入一个自动流质量选项。

所以,我已经阅读了很多帖子,但没有找到任何可以针对至少最低 api 级别 21 的解决方案,即 android 5.0。我在post 中找到了解决方案,但答案仅适用于 api 级别 23,即 Android 6。

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

【问题讨论】:

    标签: java android networking connectivity


    【解决方案1】:

    虽然这不能回答问题(对此感到抱歉),但您为什么要这样做? 2020 年,Android 10 已经面世,超过 80% 的设备支持 Android 6 或更高版本:https://developer.android.com/about/dashboards

    也许有充分的理由将 API 级别保持在 23 级以下,但也许您的努力最好投资于其他地方?

    【讨论】:

    • 是的,你是对的,但我仍然认为根据site 5.7% 的用户仍然使用 Android 5.0 的用户很少
    【解决方案2】:

    您可以使用 Facebook 的网络连接类库即时确定当前用户的互联网连接质量。

    https://github.com/facebook/network-connection-class

    【讨论】:

    • 但它不再维护了,它的最后一个版本是在 2015 年。所以最好不要使用它。
    • 好的,那么你可以在你的服务器上保留一个文件,当你需要知道速度的时候尝试下载它。这会给你速度
    • 我已经在问题中提到了。我不想每次都继续下载文件。由于需要不断检查网络速度
    猜你喜欢
    • 2016-04-10
    • 2020-07-01
    • 2021-12-23
    • 2018-02-18
    • 2020-08-08
    • 1970-01-01
    • 2022-09-30
    • 2016-01-03
    • 2019-08-28
    相关资源
    最近更新 更多