Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Анд_Рей
2 / 2 / 0
Регистрация: 27.12.2009
Сообщений: 145
#1

Подключена флешка или нет - Android

08.12.2014, 04:38. Просмотров 422. Ответов 4
Метки нет (Все метки)

Используя файловую систему или API как можно узнать подключена ли флешка к телефону или нет.. .
Заранее спасибо!

пробывал такие способы(не работают)
1)
Java
1
2
3
4
5
6
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
            textView.setText("yes");
        }
        else if (!Environment.getExternalStorageState().equals(Environment.MEDIA_CHECKING)){
            textView.setText("not");
        }
2)
Java
1
2
3
4
5
File file = new File("/storage/usb0/");
if(file.exists())
{
 
}
Добавлено через 6 минут
Так же пробывал
3)
Java
1
2
3
4
5
File file = new File("/storage/UsbDriveA/");
if(file.exists())
{
 
}
тоже не сработало
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2014, 04:38     Подключена флешка или нет
Посмотрите здесь:

Android В сети или нет
Как проверить включен bluetooth или нет? Android
Android Приложение создано, ошибок нет, устанавливается но запустить я его не могу - нет иконки. Что я сделал не так?
Как проверить пустое SharedPreferences или нет при загрузке активити? Android
Android Notification. Узнать, висит ли уведомление или нет
Существует файл или нет Android
Кастомизация стандартных вьювов - плагиат или нет? Android
Нужно сохранить пользователя(он зашел или нет) Android
адаптация которой нет Android
Как вернуть результат в активити включил юзер gps или нет? Android
Узнать используется (записывается) файл или нет Android
Отправляем уведомление с подтверждением да или нет Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
08.12.2014, 16:59     Подключена флешка или нет #2
Анд_Рей, как же раздражают эти словечки из албанского под названием "пробывал". Просто ужас!
Встречный вопрос: а что не сработало? Какие сообщения? Была ли действительно подключена внешняя карта памяти? Насколько я знаю, современные устройства часть своей внутренней памяти используют как внешнюю и без подключения micro-SD, как раз собираюсь подробнее изучить сегодня. Ещё зависит от версии Андроида.

Добавлено через 5 часов 2 минуты
Вот сравнительно подробная презентация по внешним хранилищам: http://www.eecis.udel.edu/~bohacek/M...rectories.pptx. Хоть немного становится ясно в этом бардаке Гугловской спецификации.

Добавлено через 2 часа 22 минуты
Нашёл ещё один зачётный сайтик: http://101apps.co.za/articles/using-...ing-files.html
dmitre
10 / 10 / 3
Регистрация: 02.11.2013
Сообщений: 53
08.12.2014, 21:23     Подключена флешка или нет #3
...
Анд_Рей
2 / 2 / 0
Регистрация: 27.12.2009
Сообщений: 145
09.12.2014, 03:47  [ТС]     Подключена флешка или нет #4
Пытаюсь поймать событие (ну или хотя-бы проверить) подключение флешки через microusb кабель.

Вот так выглядит мой манифест
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.test"
    android:versionCode="1"
    android:versionName="1.0" >
 
    <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="19" />
    
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
Вот так выглядит мой BroadcastReceiver:

Java
1
2
3
4
5
6
7
8
public class DetactUSB extends BroadcastReceiver
{
    @Override
    public void onReceive(Context context, Intent intent)
    {
        Toast.makeText(context, intent.getAction(), Toast.LENGTH_LONG).show();
    }
}
Вот такими способами я пытаюсь его запустить в главном активити:
1)
Java
1
2
3
4
5
6
7
8
9
10
protected void onCreate(Bundle savedInstanceState)
{
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_main);
 
     IntentFilter filter = new IntentFilter();
     filter.addAction("android.intent.action.UMS_CONNECTED");
     filter.addAction("android.intent.action.UMS_DISCONNECTED");
     registerReceiver(new DetactUSB(), filter);
 }
2)
Java
1
2
3
4
5
6
7
8
9
10
protected void onCreate(Bundle savedInstanceState)
{
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_main);
 
     IntentFilter filter = new IntentFilter();
     filter.addAction("android.intent.action.ACTION_UMS_CONNECTED");
     filter.addAction("android.intent.action.ACTION_UMS_DISCONNECTED");
     registerReceiver(new DetactUSB(), filter);
 }
Ни в обдном из этих двух способов не выводится ни одно сообщение - ни при подключении флешки,ни при ее отключении
Подскажите,пожалуйста,что тут не так?
Спасибо!

Добавлено через 16 минут
Так-же,при подключении флешки у меня появляется папка /storage/UsbDriveA, при отключении она исчезает.
Вот так я пытался проверить:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
private void CheckPath()
{
    TextView tv = (TextView) findViewById(R.id.textView1);
    File file = new File("/storage/UsbDriveA");
    if(file.exists() && file.isDirectory())
    {
         tv.setText("Connected");
    }
    else
    {
         tv.setText("Not connected");
    }
}
Всегда Connected! - Тоже не годится
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
09.12.2014, 09:45     Подключена флешка или нет #5
Анд_Рей, ещё не прочитал весь текст, но сразу вижу, что в манифесте не хватает права на запись на карту памяти.

Добавлено через 6 минут
(Предыдущее сообщение некорректно)
Анд_Рей, я не разбираюсь в этой теме, но, возможно, вам не хватает некоторых разрешений: http://stackoverflow.com/questions/1...-does-not-work.
Также увидел другой метод для проверки подключения: http://stackoverflow.com/questions/5...lugged-in?lq=1.
Yandex
Объявления
09.12.2014, 09:45     Подключена флешка или нет
Ответ Создать тему
Опции темы

Текущее время: 09:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru