|
106 / 106 / 1
Регистрация: 09.04.2012
Сообщений: 655
|
|
Как при запуске проверить включен ли обычный интернет?01.11.2012, 17:00. Показов 6476. Ответов 27
Метки нет (Все метки)
Доброго времени суток. Как при запуске проверить включен ли обычный интернет? То есть Передача данных. Спасибо, за ответы
0
|
|
| 01.11.2012, 17:00 | |
|
Ответы с готовыми решениями:
27
Как проверить, включен ли checkbox Как проверить, включён ли PC Speaker? Как проверить включен bluetooth или нет? |
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
| 02.11.2012, 11:58 | |||||||||||||||||||||||||||||||||||||||||||||||||||
|
1. Создаём класс наследник BroadcastReceiver
Наша активити должна быть
0
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
106 / 106 / 1
Регистрация: 09.04.2012
Сообщений: 655
|
|
| 02.11.2012, 13:13 [ТС] | |
|
Ого, сколько всего. Спасибо, буду пробовать. На проверку включен ли GPS понадобилось всего около 15 строк
0
|
|
|
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
|
||||||
| 02.11.2012, 13:19 | ||||||
|
это код отлавливает момент включения и выключения интернета.
а чтобы проверить текущее состояние:
0
|
||||||
|
106 / 106 / 1
Регистрация: 09.04.2012
Сообщений: 655
|
||
| 02.11.2012, 13:23 [ТС] | ||
|
0
|
||
|
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
|
|
| 02.11.2012, 13:33 | |
|
тем методом который вы процитировали.
0
|
|
|
106 / 106 / 1
Регистрация: 09.04.2012
Сообщений: 655
|
|
| 02.11.2012, 22:56 [ТС] | |
|
0
|
|
|
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
|
|||
| 02.11.2012, 23:04 | |||
|
0
|
|||
|
106 / 106 / 1
Регистрация: 09.04.2012
Сообщений: 655
|
||
| 03.11.2012, 00:58 [ТС] | ||
|
0
|
||
|
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
|
|
| 03.11.2012, 01:01 | |
|
ну так предложите.
0
|
|
|
146 / 129 / 6
Регистрация: 29.07.2008
Сообщений: 506
|
|
| 03.11.2012, 11:59 | |
|
V0v1k, однако стальные у тебя нервы, я сначала пытался отвечать, но потом понял что будут бесконечно спрашивать "почему мой хэлоуворлд не запускается".
YuraAAA, дорогой мой коллега: 0 регистрация ресивера в манифесте для подобных целей очень вредна! он будет срабатывать даже когда ваша программа не запущена. приложение будет висеть в памяти. 1 для цели, которую преследует автор, более чем достаточно просто динамически регистрировать ресивер в onStart и анрегистерить в onStop. 2 вместо неуместного паттерна Observable я бы вам порекомендовал выучить нормально синглтон. В Android надо учитывать мультипоточность. 3 Обычно программисты пытаются свести к минимуму держание в качестве переменной контекста. Это может приводить к мемориликам. 4 Когда нужен контекст Апликейшна - его обычно и передают. А когда нужен контекст для UI-related операций - передюат this. просто знать API не достаточно.
0
|
|
|
106 / 106 / 1
Регистрация: 09.04.2012
Сообщений: 655
|
||
| 03.11.2012, 13:55 [ТС] | ||
|
0
|
||
|
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
|
|
| 03.11.2012, 16:35 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 22
|
|||
| 02.02.2013, 16:20 | |||
|
Добавлено через 3 минуты
0
|
|||
|
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
|
||||||
| 02.02.2013, 22:32 | ||||||
|
mPhoneNumber = tMgr.getLine1Number();
1
|
||||||
|
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 22
|
||
| 03.02.2013, 10:05 | ||
|
0
|
||
|
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
|
|
| 03.02.2013, 22:06 | |
|
сам я по этому учился:
http://developer.android.com/g... index.html http://developer.android.com/r... kages.html
1
|
|
|
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 22
|
||
| 05.02.2013, 18:11 | ||
|
у меня проблема в сервисом. он не запускается почему то. в программе один сервис. нет форм. должен работать в фоне, при остановке запускаться, стоять в автозугрузке, находить координаты gps и проверить интернет включен ли. все части кода из книг и статей взято. в диспетчере нет моего сервиса в запуске, но после запуска появяется сервис gps/ значит запускается и остановливается. если кто может помогите чтоб он сработал. вот сам код package com.sample.family_safety; import android.app.Service; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.IBinder; import android.util.Log; public class FAMILY_SAFETY extends Service { // FamilySafety fSafety; @Override public void onCreate() { // инициализация службы при создании startService(new Intent(this, FAMILY_SAFETY.class)); } @Override public IBinder onBind(Intent intent) { // действия при связывании клиента со службой return null; } @Override public int onStartCommand(Intent intent, int flags, int startId) { // действия при запуске .службы if ((flags & START_FLAG_RETRY) == 0) { // TODO Если это повторный запуск, выполнить какие-то действия. } else { // TODO Альтернативные действия в фоновом режиме. } return Service.START_STICKY; } ///////////////////////////////////////////////////////////// // получение gps координат LocationManager locationManager; String context = Context.LOCATION_SERVICE; locationManager = (LocationManager)getSystemService(contex t); String provider = LocationManager.GPS_PROVIDER; Location location = locationManager.getLastKnownLocation(pro vider); updateWithNewLocation(location); } private void updateWithNewLocation(Location location) {} String latLongString; // TextView myLocationText; myLocationText = findViewById(R.id.myLocationText); if (location != null) { double lat = location.getLatitude(); double lng = location.getLongitude(); latLongString = "Lat:" + lat + "\nLong:" + lng; } else { latLongString = "No location found"; } myLocationText.setText("Your Current Position is:\n" + latLongString); } /////////////////////////////////////////////////////////////////// // обновление данных gps каждый 10 минут или 10 метров String provider = LocationManager.GPS_PROVIDER; int t = 3000000; // миллисекунды int distance = 10; // meters LocationListener myLocationListener = new LocationListener() { public void onLocationChanged(Location location) { // Обновите приложение, основываясь на данных местоположения. } public void onProviderDisabled(String provider){ // Обновите приложение, если источник отключен. } public void onProviderEnabled(String provider){ // Обновите приложение, если источник включен. } public void onStatusChanged(String provider, int status, Bundle extras){ // Обновите приложение, если состояние аппаратного обеспечения источника изменилось. } }; locationManager.requestLocationUpdates(p rovider, t, distance, myLocationListener); /////////////////////////////////////////////////////////////////////////// // проверка состояния интернета(вкл/выкл) public boolean isOnline() { ConnectivityManager cm = (ConnectivityManager)getSystemService(Co ntext.CONNECTIVITY_SERVICE); NetworkInfo nInfo = cm.getActiveNetworkInfo(); if (nInfo != null && nInfo.isConnected()) { Log.v("status", "ONLINE"); return true; } else { Log.v("status", "OFFLINE"); return false; } } ////////////////////////////////////////////////////////////////////////////////////// // добавление сервиса в автозагрузку public class MyBroadReceiv extends BroadcastReceiver { final String LOG_TAG = "myLogs"; public void onReceive(Context context, Intent intent) { Log.d(LOG_TAG, "onReceive " + intent.getAction()); context.startService(new Intent(context, FAMILY_SAFETY.class)); } } //////////////////////////////////////////////////////////////////////////////////////////////////////// // повышение приоритета сервиса, чтобы система не убиывала private static final Class<?>[] mSetForegroundSignature = new Class[] { boolean.class}; private static final Class<?>[] mStartForegroundSignature = new Class[] { int.class, Notification.class}; private static final Class<?>[] mStopForegroundSignature = new Class[] { boolean.class}; private NotificationManager mNM; private Method mSetForeground; private Method mStartForeground; private Method mStopForeground; private Object[] mSetForegroundArgs = new Object[1]; private Object[] mStartForegroundArgs = new Object[2]; private Object[] mStopForegroundArgs = new Object[1]; void invokeMethod(Method method, Object[] args) { try { method.invoke(this, args); } catch (InvocationTargetException e) { // Should not happen. Log.w("ApiDemos", "Unable to invoke method", e); } catch (IllegalAccessException e) { // Should not happen. Log.w("ApiDemos", "Unable to invoke method", e); } } /** * This is a wrapper around the new startForeground method, using the older * APIs if it is not available. */ void startForegroundCompat(int id, Notification notification) { // If we have the new startForeground API, then use it. if (mStartForeground != null) { mStartForegroundArgs[0] = Integer.valueOf(id); mStartForegroundArgs[1] = notification; invokeMethod(mStartForeground, mStartForegroundArgs); return; } // Fall back on the old API. mSetForegroundArgs[0] = Boolean.TRUE; invokeMethod(mSetForeground, mSetForegroundArgs); mNM.notify(id, notification); } /** * This is a wrapper around the new stopForeground method, using the older * APIs if it is not available. */ /* void stopForegroundCompat(int id) { // If we have the new stopForeground API, then use it. if (mStopForeground != null) { mStopForegroundArgs[0] = Boolean.TRUE; invokeMethod(mStopForeground, mStopForegroundArgs); return; } // Fall back on the old API. Note to cancel BEFORE changing the // foreground state, since we could be killed at that point. mNM.cancel(id); mSetForegroundArgs[0] = Boolean.FALSE; invokeMethod(mSetForeground, mSetForegroundArgs); } */ @Override public void onCreate() { mNM = (NotificationManager)getSystemService(NO TIFICATION_SERVICE); try { mStartForeground = getClass().getMethod("startForeground", mStartForegroundSignature); mStopForeground = getClass().getMethod("stopForeground", mStopForegroundSignature); return; } catch (NoSuchMethodException e) { // Running on an older platform. mStartForeground = mStopForeground = null; } try { mSetForeground = getClass().getMethod("setForeground", mSetForegroundSignature); } catch (NoSuchMethodException e) { throw new IllegalStateException( "OS doesn't have Service.startForeground OR Service.setForeground!"); } } @Override public void onDestroy() { // Make sure our notification is gone. stopForegroundCompat(R.string.foreground _service_started); } //////////////////////////////////////////////////////////////////////////////////////////////////// } }
0
|
||
|
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
|
|
| 05.02.2013, 18:54 | |
|
ну подебагай...
кстати слышал про новые полиси, что нужно хоть что-то юзеру показать(диалог с сообщением каким-то, что сервис мол запущен) иначе не будет работать сервис, но мне с этим еще не приходилось сталкиваться.
0
|
|
|
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 22
|
||
| 06.02.2013, 09:08 | ||
|
0
|
||
| 06.02.2013, 09:08 | |
|
Помогаю со студенческими работами здесь
20
Как проверить, что RadioButton включен. MVVM Как выделить жырним и проверить включен ли чекбокс?
Как проверить, есть ли подключение к БД при запуске приложения?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|