gpt4 book ai didi

android - 如何仅以编程方式为我的应用禁用移动数据

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:14:54 25 4
gpt4 key购买 nike

我正在开发一个应用程序,我担心用户之间可以传输的数据量。由于一些用户的移动数据计划有限而另一些则没有,我想知道我是否可以开发一个开关来为我的特定应用程序禁用移动数据。有点像Android自己的Data usage -> mobile -> App ->"Restrict background data"做的...

它说(并且确实)它“仅在移动数据网络上禁用后台数据。如果可用,将使用 Wi-Fi。”,我想要它,但不仅仅是在后台。

我确实知道我无法更改“限制后台数据”选项,因为如果应用程序可以取消切换它,它将变得毫无用处......但是有没有一种方法可以让我以编程方式说现在我的应用程序被阻止访问移动数据,现在不是了吗?

作为我为什么想要这个的洞察力,我试图在用户选择给定选项(我做了并且有效)时不调用远程访问调用,但是有一些数据泄漏(每天一些 kbs)我不能似乎阻塞了……要么是由于系统保持 http 连接,要么是其他一些不明确的原因……

我在我的应用程序的网络统计数据上看到了 DDMS 透视图上的这些数据传输。

感谢您的帮助

最佳答案

与其禁用,不如检查 Activity 连接是否为 wifi,如果不是 wifi,则不要进行任何服务器端通信。

例如检查下面的线程。

How do I see if Wi-Fi is connected on Android?

ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

if (mWifi.isConnected()) {
// Do whatever
}

记得加

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>

添加到您的 AndroidManifest.manifest 以使其正常工作。

关于android - 如何仅以编程方式为我的应用禁用移动数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24431963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com