如何启用/禁用移动数据下载

时间:2018-04-30 09:55:21

标签: java android android-studio download settings

就像在Google Play商店中一样,您可以选择仅通过Wifi更新应用,而不是通过移动数据连接,即“仅通过Wi-Fi自动更新应用”。或通过移动和Wifi更新应用程序的选项

我正在开发一个应用程序,它将从服务器下载一些媒体文件,但我想启用一个选项,如果用户只想通过wifi下载或通过两者下载,用户可以切换 欢迎任何帮助/建议

2 个答案:

答案 0 :(得分:0)

您应该查看有关网络使用管理的this guide

您可以使用NetworkInfo来实现您的目标:

  

NetworkInfo:描述给定网络接口的状态   类型(目前是手机或Wi-Fi)。

private static final String DEBUG_TAG = "NetworkStatusExample";
...
ConnectivityManager connMgr = (ConnectivityManager)
        getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
boolean isWifiConn = networkInfo.isConnected();
networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
boolean isMobileConn = networkInfo.isConnected();
Log.d(DEBUG_TAG, "Wifi connected: " + isWifiConn);
Log.d(DEBUG_TAG, "Mobile connected: " + isMobileConn);

如果用户选择仅通过Wi-Fi下载,则当所使用的网络不是Wi-Fi时,您可以拒绝该操作。

答案 1 :(得分:0)

您可以尝试JobScheduler并从JobInfo

定义网络类型

简单指南here

    JobInfo job = new JobInfo.Builder(JOB_ID, new ComponentName(this, UpdateJobService.class))  
   .setRequiredNetworkType(JobInfo.TRANSPORT_WIFI)
   .setRequiresCharging(true)
   .build();