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

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

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

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

08.12.2014, 04:38. Просмотров 447. Ответов 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())
{
 
}
тоже не сработало
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2014, 04:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подключена флешка или нет (Программирование Android):

В сети или нет - Программирование Android
Нужно, чтобы при условии, что пользователь находится в сети приложение периодически выполняло определенные действия. В каком направлении...

Существует файл или нет - Программирование Android
При подключении флешки появляется новая директория storage/UsbDriveA проверяя существование этой директории я пытаюсь узнать подключена...

Отправляем уведомление с подтверждением да или нет - Программирование Android
Привет! Есть кнопка на сайте при нажатии нужно выслать на мое приложение оповещение да или нет при нажатии на выбор отправлять на...

Нужно сохранить пользователя(он зашел или нет) - Программирование Android
дело в том что есть авторизация, человек логиниться в одном активити, если успешно то идет на другое, а когда нажимаешь назад, то снова...

Как проверить включен bluetooth или нет? - Программирование Android
Как проверить включен bluetooth или нет? Если да то одно действие а если нет то другое.

Узнать используется (записывается) файл или нет - Программирование Android
В приложении 1н broadcast receiver записывает файл, 2й broadcast receiver загружает на сервер, ресиверы друг с другом не общаются. Но...

4
CoolMind
419 / 402 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
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
0
dmitre
10 / 10 / 3
Регистрация: 02.11.2013
Сообщений: 53
08.12.2014, 21:23 #3
...
0
Анд_Рей
3 / 4 / 0
Регистрация: 27.12.2009
Сообщений: 162
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! - Тоже не годится
0
CoolMind
419 / 402 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
09.12.2014, 09:45 #5
Анд_Рей, ещё не прочитал весь текст, но сразу вижу, что в манифесте не хватает права на запись на карту памяти.

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

Кастомизация стандартных вьювов - плагиат или нет? - Программирование Android
Вопрос совершенно не относящийся к программированию, но вроде уместный для данной ветки. Допусти есть стандартный вьюв Holo Light, он меня...

Notification. Узнать, висит ли уведомление или нет - Программирование Android
При щелчке по уведомлению оно исчезает (хотел бы, чтобы не исчезало, но уже устал бороться). Можно ли как-то определить, висит ли...

Как проверить пустое SharedPreferences или нет при загрузке активити? - Программирование Android
У меня вот такая задача при первой загрузке приложения ничего. В строку ввода я ввожу разные фразы и сохраняю в preferences. При следующей...

Как вернуть результат в активити включил юзер gps или нет? - Программирование Android
Как вернуть результат в активити включил юзер gps или нет?


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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