Моя программа должна работать с парой форматов (в будущем будет до 10). Мне необходимо что бы пользователь мог выбрать файл и моя уже программа этот файл как-то обработала. Это файлы субтитров и текста все различного.
Если не хотите зависеть от сторонних файл-менеджеров берите aFileChooser вставляйте проект как либу и вперед. Вызов элементарный:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Create the ACTION_GET_CONTENT Intent
Intent getContentIntent = FileUtils.createGetContentIntent();
Intent intent = Intent.createChooser(getContentIntent, "Select a file");
startActivityForResult(intent, REQUEST_CHOOSER);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case REQUEST_CHOOSER:
if (resultCode == RESULT_OK) {
final Uri uri = data.getData();
// Get the File path from the Uri
String path = FileUtils.getPath(this, uri);
// Alternatively, use FileUtils.getFile(Context, Uri)
if (path != null && FileUtils.isLocal(path)) {
File file = new File(path);
}
}
break;
}
}
Метод getContentIntent()
легко кастомизируется под нужный тип файла, заданием mime типа:
public static Intent createGetContentIntent() {
// Implicitly allow the user to select a particular kind of data
final Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*"); //задаем mime тип
// Only return URIs that can be opened with ContentResolver
intent.addCategory(Intent.CATEGORY_OPENABLE);
return intent;
}
Update
Проект слегка морально устарел, но тем не менее вполне работоспособен. Кое-какие action
можно уже и другие использовать, есть проблемы с FileUriExposedException
, но если руки не сильно кривые то все можно приспособить
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
В фоновом режиме приложение отправляет запросы на сервер, в циклеПо задумке если ответ сервера содержит 1, надо отправить пуш уведомление
Здравствуйте! Возник такой вопросКак правильно отправлять N (N > 100) get-запроcов в секунду на указанный url?
Хотелось бы обработать нажатие мыши не только в своем приложении, но и глобальноЕсть такой код :