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

2024-04-04

我正在开发一个应用程序,我担心用户之间可以传输的数据量。由于一些用户的移动数据计划有限,而另一些则没有,我想知道是否可以开发一个开关来禁用我的特定应用程序的移动数据。 有点像Android自己的数据使用->移动->应用程序->“限制后台数据”的作用......

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

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

为了了解我为什么想要这个,我试图在用户选择给定选项时不调用远程访问调用(我做了并且有效),但有一些数据泄漏(每天一些 kbs),我似乎无法阻止...要么是由于系统保持 http 连接,要么是其他一些晦涩的原因...

我在我的应用程序的网络统计信息上从 DDMS 角度看到这些数据传输。

谢谢你的帮助


最好检查活动连接是否是 wifi,而不是禁用,如果不是 wifi,则不要进行任何服务器端通信。

例如,检查下面的线程。

如何查看 Android 上的 Wi-Fi 是否已连接? https://stackoverflow.com/questions/3841317/how-to-see-if-wifi-is-connected-in-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 才能正常工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何仅以编程方式禁用我的应用程序的移动数据 的相关文章

  • Android 中读取未提交的事务

    我正在进行大量数据库操作 这会向我的数据库添加大约 10 000 条记录 由于这可能需要很长时间 因此最好使用事务 db startTransaction do write operations db setTransactionSucce
  • Android 中的短信编码

    我的问题是我想发送特定类别和特定编码的短信 0 类和 7 位编码 当检查 Android Telephony SmsManager 和 SmsMessage 时 您无能为力 SmsManager 提供两个功能 发送文本消息和发送数据消息 如
  • AdMob 广告未显示

    因此 我使用 Play Services SDK 实施了 AdMob 广告 我已经 按照书本 做了所有事情 但广告不会显示 如果我将 AdView 背景设置为白色 它会显示空白 但不显示广告 我正在使用 Fragments 但我将 AdVi
  • com.google.android:android:jar 的 dependency.dependency.version' 丢失

    我正在尝试使用 Eclipse 运行一个简单的虚拟 Android 项目 并且我正在尝试使用 Maven amd 我已按照已接受答案的教程进行操作this https stackoverflow com questions 6735562
  • 删除SD卡上的文件夹

    I tried File delete 但它不起作用 如何删除SD卡上的目录 我正在开发 Android 2 1 在删除目录本身之前 您必须将所有目录清空 请参阅here http www rgagnon com javadetails j
  • cordova - 删除不必要的权限

    我需要在游戏中播放声音 因此我将 org apache cordova media 插件添加到我的应用程序中 现在platforms android AndroidManifest xml包含2个我不需要的条目
  • InflateException 膨胀类 android.support.design.widget.CoordinatorLayout 时出错

    E AndroidRuntime 致命异常 main 进程 com atech a business PID 30662 java lang RuntimeException 无法启动活动 ComponentInfo com atech a
  • 无法从视图转换为按钮

    我在这里遇到非常令人沮丧的问题 我有这个代码 Button b findViewById android R id button1 我收到了这个错误 类型不匹配 无法将表单视图转换为按钮 但是按钮1is一个按钮 在我的 XML 布局文档中
  • 终端 (Mac) 上的 ndk-build 命令出错

    这是我在 bashrc 中的环境变量设置 export ANDROID SDK AndroidSDK android sdks export ANDROID NDK AndroidNDK android ndk r8d export PAT
  • Android Fragment 中的 SharedPreferences

    我正在尝试读取 Fragment 内的 SharedPreferences 我的代码用于获取任何其他活动中的首选项 SharedPreferences preferences getSharedPreferences pref 0 我收到错
  • Android - 对话框内VideoView的MediaController出现在对话框后面

    我有一个VideoView在自定义对话框中 我正在为VideoView即时并将其分配给VideoView在代码中 但是控制器实际上并没有出现在视频上 它出现在对话框后面 知道如何让控制器位于视频上方吗 我创建了一个静态对话框帮助器类来帮助构
  • 使用 Retrofit 2 添加标头以请求

    我正在尝试发送带有身份验证标头的请求 但服务器似乎无法识别客户端 我用了this https futurestud io tutorials android basic authentication with retrofit教程 并实现了
  • Android中从一个应用程序向另一个应用程序发送数据时的加密

    我想将敏感数据从一个应用程序发送到另一个应用程序 我使用 Intent 并通过 Bundle 发送数据 现在 我应该使用加密算法来加密要发送的数据 同时接收器应用程序将解密数据 哪种算法最适合移动平台 我浏览过RSA文档 建议不建议用于长文
  • 当我单击 GridView 项时返回 ImageView 实例

    当我点击GridView项时如何返回ImageView实例 我为 ItemClick 创建自定义绑定事件 public class ItemClickSquareBinding MvxBaseAndroidTargetBinding pri
  • 如果从超链接打开,应用程序将启动两次

    我正在开发一个应用程序 可以从多个地方启动 例如日历中的超链接 我在以下场景中面临问题 如果应用程序已启动并在后台运行 并且用户单击本机日历中的事件 超链接来启动应用程序 我的应用程序作为新实例启动两次 在正在运行的应用程序列表中 我可以看
  • 以编程方式卸载 Android 应用程序

    我希望能够允许我的用户从我的应用程序中卸载应用程序 就像 Google Play 商店允许其用户一样 请下图 主要问题是如何定义一个按钮 按下它我们可以通过提供包名称或其他一些信息来卸载应用程序 就像图像上的卸载按钮一样 try Inten
  • Android Studio:src/androidTest 和 src/main 文件夹之间的区别?

    我是 Android Studio 的新手 我的问题是 src androidTest 和 src main 文件夹有什么区别 我所有的课程应该放在哪里 Refer Android Studio 概述 http developer andr
  • 在片段视图之间切换

    在 xml 布局文件中声明片段的标准方法是
  • Flutter 中 Android RecyclerView.SCROLL STATE IDLE 的等价物是什么

    Android 给出的滚动状态如下RecyclerView SCROLL STATE IDLE它告诉用户何时停止滚动 我找不到任何选择在颤动中Pageview or ListView滚动监听器 我的问题 我需要检测 PageView 中的向
  • 切换按钮形状不变

    我正在尝试制作一个带有绿色背景的圆形切换按钮 我用了

随机推荐

  • “volatile char *”类型的参数与“const char *”类型的参数不兼容

    我有一个函数 其原型如下 void foo const char data 在我的代码的其他地方 我声明了一个全局变量 如下所示 volatile char var 100 每当我尝试这样做时 foo var 编译器会抛出以下错误消息 vo
  • 删除 numpy 数组中的屏蔽元素

    我有一些包含屏蔽元素的数组 来自Numpy MaskedArray e g data 0 1 masked 3 masked 5 面具不遵循常规模式的地方 我想遍历数组并简单地删除所有被屏蔽的元素 最终得到 data 0 1 3 5 我尝试
  • 调试部署的azure应用程序

    是否可以附加到已部署的 Azure 应用程序 我希望能够单步执行代码 以便可以查看在对我的 Web 角色操作之一的请求中设置了哪些值 我环顾四周 唯一的例子似乎是当天蓝色应用程序在本地计算机上运行时进行调试 允许在云中使用 IntelliT
  • Objective-C 中整数的除法和四舍五入

    我有 2 个整数 如何将一个除以另一个然后再四舍五入 如果你的整数是A and B你想要 ceil A B 只需计算 A B 1 B
  • Spyder中的runfile是什么意思

    尝试在 WinPython Spyder 中使用 PyPDF2 时 我无法解释错误消息 错误信息 在 3 中 runfile C Users User Downloads WPy64 3720 pdf2text py wdir C User
  • 如何从access数据库中查询表结构?

    我想用 C 获取 Access 数据库中所有表和 odbc 数据源的结构 所以我尝试了这段代码 string text var tables GetApp CurrentData AllTables for int i 0 i lt tab
  • 使用来自另一个 Pandas 数据框的信息填充 Pandas 数据框

    我有一个 Pandas 数据框 其中包含以下信息 index year month day symbol transaction nr shares 2011 01 10 2011 1 10 AAPL Buy 1500 2011 01 13
  • 具有集群和自定义视图标记的 Google 地图在放大和缩小时滞后太多

    我要加载GoogleMap用自定义视图代替GMSMarker并想展示聚类 我已经做到了 但我在放大或缩小地图时面临着滞后和内存使用情况 我已加载自定义视图GMSMarker信息视图 这是我的代码 class InitialMapViewCo
  • 使用 3d 变换矩阵

    在人工智能课程中 我们有一个机器人 它的手臂有 7 个关节 每个关节可以向不同的方向旋转 我需要知道最后的结局在哪里 我一直在尝试进行 3d 矩阵乘法 它适用于一个关节 但一旦我添加另一个关节 它就与我使用 Java3D api 制作的模型
  • 有没有办法直接访问 CSS 网格中自动放置元素的实际网格坐标?

    还有人问了类似的问题here https stackoverflow com questions 51327802 how to get the grid coordinates of an element using javascript
  • R 取子集后得到数据框的原始索引

    子集化后是否可以获取数据框的原始索引 它存储在某个地方 但我不确定在哪里以及如何访问它 我知道如果这是算法设计的一部分 会有更好的解决方案 我只是好奇是否有人知道是否可能 示例场景 df data frame atr1 integer at
  • 保留元素的排序列表,按该元素外部的属性排序

    我有一个 管理器 类维护对象列表 每个对象都有一定的 位置 但他们不知道这一点 只有管理者知道这一点 管理器必须为每个对象分配一个位置 并维护根据此 外部属性 排序的对象列表 请注意 对象的位置可以随时更改 理想情况下 我应该能够立即获取位
  • 在JavaScript中获取两个日期之间的年、月、日差异[重复]

    这个问题在这里已经有答案了 好吧 我在这里发现了很多类似的问题 试图获取两个日期之间的年 月和日的差异 但没有答案可以满足我的要求 所以我写了一些东西来计算 它似乎有效 但也许这里的一些专家可以进行更正或帮助使这更简单 您可以使用momen
  • Magento 高级配置文件导出 - 将 URL 添加到 IMAGE 路径

    刚使用 Magento 几周 就成功地使用了高级导出配置文件 非常方便 我想做的是将 url 值添加到输出列之一 特别是图像 url 我想将 url 附加到路径输出的开头 有人可以帮忙吗
  • 可空字段在写入 Spark Dataframe 时发生更改

    以下代码从 parquet 文件读取 Spark DataFrame 并写入另一个 parquet 文件 将 DataFrame 写入新的 Parquet 文件后 ArrayType 中的 Nullable 字段的 DataType 会发生
  • DAO.Recordset、DAO.Recordsets、DAO.Recordset2 之间的差异

    谁能解释一下之间的区别DAO Recordset DAO Recordsets and DAO Recordset2在 MS Access 2007 中 基本上使用记录集 给出一个例子 以便更清楚 我从帮助选项中找到了一些参考资料 但我不清
  • 为什么我的查询只显示一个结果?

    为什么我从下面的查询中只得到一个结果 建议的 答案 的名字是 Susan 而不是我在结果中得到的名字 SELECT EmpFirstName EmpLastName p ProductName as ProductName YEAR c O
  • 分割功能 - 避免最后一个空白空间

    我对如何使用 split 功能有疑问 str James Joseph Arun str split 我得到了结果 James Joseph Arun 我需要输出为 James Joseph Arun 最好的方法是什么 要删除所有空字符串
  • Mongo数据库保存Map中的数据

    我有以下有效的代码 if aDBCursor hasNext DBObject aDbObject aDBCursor next aDbObject put title Test Title ArrayList
  • 如何仅以编程方式禁用我的应用程序的移动数据

    我正在开发一个应用程序 我担心用户之间可以传输的数据量 由于一些用户的移动数据计划有限 而另一些则没有 我想知道是否可以开发一个开关来禁用我的特定应用程序的移动数据 有点像Android自己的数据使用 gt 移动 gt 应用程序 gt 限制