#android
#Android
Вопрос:
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.setType("video/3gpp");
intent.putExtra(Intent.EXTRA_STREAM, videoURI);
startActivity(Intent.createChooser(intent,"Upload video via:"));
Я использовал приведенный выше код для загрузки видео в формате 3gp на YouTube, запустив intent
но это приводит к следующему исключению.
Я не понимаю, какова связь между исключением даты и загрузкой мультимедиа
05-04 13:04:59.315: ERROR/AndroidRuntime(10671): FATAL EXCEPTION: Thread-12
05-04 13:04:59.315: ERROR/AndroidRuntime(10671): java.lang.NullPointerException
05-04 13:04:59.315: ERROR/AndroidRuntime(10671): at java.util.Calendar.setTime(Calendar.java:1325)
05-04 13:04:59.315: ERROR/AndroidRuntime(10671): at java.text.SimpleDateFormat.formatImpl(SimpleDateFormat.java:536)
05-04 13:04:59.315: ERROR/AndroidRuntime(10671): at java.text.SimpleDateFormat.format(SimpleDateFormat.java:818)
05-04 13:04:59.315: ERROR/AndroidRuntime(10671): at java.text.DateFormat.format(DateFormat.java:376)
05-04 13:04:59.315: ERROR/AndroidRuntime(10671): at com.google.android.apps.uploader.clients.youtube.YouTubeSettingsActivity.a(SourceFile:183)
05-04 13:04:59.315: ERROR/AndroidRuntime(10671): at com.google.android.apps.uploader.clients.SettingsActivity.b(SourceFile:43)
05-04 13:04:59.315: ERROR/AndroidRuntime(10671): at com.google.android.apps.uploader.clients.j.run(SourceFile:348)
05-04 13:04:59.315: ERROR/AndroidRuntime(10671): at java.lang.Thread.run(Thread.java:1019)
Комментарии:
1. У меня тоже есть эта проблема, и я не могу найти решение. Это действительно беспокоит меня.
Ответ №1:
Я столкнулся с той же ошибкой, когда использовал Uri.fromFile()
для получения URI своего видео. Решением было использование ContentProvider
для создания URI:
ContentValues content = new ContentValues(4);
content.put(Video.VideoColumns.TITLE, "Test");
content.put(Video.VideoColumns.DATE_ADDED,
System.currentTimeMillis() / 1000);
content.put(Video.Media.MIME_TYPE, "video/mp4");
content.put(MediaStore.Video.Media.DATA, "/sdcard/myvideo.mp4");
ContentResolver resolver = getContext().getContentResolver();
Uri uri = resolver.insert(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, content);
Комментарии:
1. Я также обнаружил, что помогает указание размера: content.put(MediaStore.Video.VideoColumns. РАЗМЕР, размер файла в байтах);
2. Я получаю только «Никакие приложения не могут выполнить это действие», почему?
3. @Patrick может быть, потому, что на устройстве не установлено приложение youtube?