Я хочу андроид приложение для использования только мобильных данных, даже если WIFI и мобильные данные как на в Android 6. Как связать процесс андроида с данными Mobile.
Пожалуйста, предложите. Примеры будут хорошими.Как использовать мобильные данные силой для любого приложения, когда Wi-Fi включен в Android 6
2
A
ответ
0
Вы можете посетить Android force app to use mobile data channel
manager = (WifiManager)this.getSystemService(Context.WIFI_SERVICE);
if(manager.isWifiEnabled()) {
manager.setWifiEnabled(false);
}
// and to be sure:
ConnectivityManager.setNetworkPreference(ConnectivityManager.TYPE_MOBILE);
4
Вы можете сделать это довольно легко, если вы андроид версия M или выше. Во-первых, вам нужно правильно манифеста разрешения: < использует-разрешение андроида: имя = "android.permission.ACCESS_NETWORK_STATE"/> < использует разрешение-андроид: имя = "android.permission.CHANGE_NETWORK_STATE"/>
Вот пример того, метод, который должен делать то, что вам нужно:
public static void forceConnectionToMobile2(Context context) {
final ConnectivityManager connection_manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
NetworkRequest.Builder request = new NetworkRequest.Builder();
Log.d(TAG,"request TRANSPORT_CELLULAR");
request.addCapability(NetworkCapabilities.TRANSPORT_CELLULAR);
connection_manager.requestNetwork(request.build(), new ConnectivityManager.NetworkCallback() {
@Override
public void onAvailable(Network network) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
Log.d(TAG,"binding app to cellular network");
connection_manager.bindProcessToNetwork(network);
}
}
});
}
}
1
boolean mobileDataEnabled = false;
try {
Class cmClass = Class.forName(connection_manager.getClass().getName());
Method method = cmClass.getDeclaredMethod("getMobileDataEnabled");
method.setAccessible(true);
mobileDataEnabled = (Boolean) method.invoke(connection_manager);
} catch (Exception e) {
}
First check if mobile data enable or disable then do
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
NetworkRequest.Builder request = new NetworkRequest.Builder();
request.addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR);
request.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET);
connection_manager.requestNetwork(request.build(), new ConnectivityManager.NetworkCallback() {
@Override
public void onAvailable(Network network) {
connection_manager.bindProcessToNetwork(network);
}
}
Смежные вопросы
- 1. Какое соединение использует Android, когда одновременно включены как данные WiFi, так и мобильные данные?
- 2. Android не работает, если я использую мобильные данные вместо wifi
- 3. Как распечатать данные из приложения Android на WIFI-принтер?
- 4. Когда я должен использовать push с силой?
- 5. Как использовать соединение с данными вместо WIFI, когда оба включены?
- 6. Как получить статус мобильных данных в iPhone, когда WiFi включен
- 7. Как отключить/включить мобильные данные из приложения (Android)
- 8. Как Android/BroadcastReceiver определяет, включен ли Wifi P2P?
- 9. Отключить мобильные данные для слушателей Firebase
- 10. Как обнаружить в Android, что WIFI включен, но недоступен?
- 11. Используйте мобильные данные только в Android-приложении
- 12. Как сделать мобильные приложения для разных ОС
- 13. Android приложение для автоматизации Wifi
- 14. Должен ли getActiveNetworkInfo() возвращают WiFi если WiFi включен
- 15. android urlConnection.getInputStream throw исключение, когда WIFI отключен
- 16. Мобильные данные отключены в Android примерно через 1 час
- 17. Встраивание в мобильные приложения
- 18. Как Facebook проверяет мобильные приложения
- 19. Как передать намерение настройкам приложения для wifi
- 20. Как с силой закрыть
- 21. ANDROID: если WiFi включен и активен, запуск пристальный
- 22. Мобильные приложения - кросс-домен AJAX
- 23. Гибридные мобильные приложения
- 24. Печать WIFI на Android
- 25. В TYPO3 6.x, как получить defaultJS, когда включен config.disableAllHeaderCode?
- 26. Весенние мобильные приложения для развертывания в эмуляторе
- 27. Android плавающий вид поверх любого приложения Android
- 28. Android WIFI Как обнаружить, когда доступно специальное WIFI-соединение
- 29. Как включить мобильные устройства программно в Android?
- 30. Android. Как использовать другие данные приложения?
Я не хочу _disable WIFI в level_ устройства. просто хочу использовать ** мобильные данные только ** для моего приложения. –
boolean mobileDataEnabled = false; try { Класс cmClass = Class.forName (connection_manager.getClass(). GetName()); Метод метода = cmClass.getDeclaredMethod ("getMobileDataEnabled"); method.setAccessible (true); mobileDataEnabled = (Boolean) method.invoke (connection_manager); } catch (исключение e) { } –