Saya telah membuat aplikasi untuk mengunduh video YouTube untuk android. Sekarang, saya menginginkannya sehingga jika Anda memutar video di aplikasi asli YouTube Anda juga dapat mengunduhnya. Untuk melakukan ini, saya perlu tahu Intent yang dikeluarkan aplikasi asli YouTube untuk memainkan aplikasi YouTube.
Saya dapat melakukan ini dengan mudah jika saya memiliki program YouTube di emulator saya, jadi pertanyaan pertama saya adalah:
1. Dapatkah saya mengunduh aplikasi YouTube untuk emulator saya, atau ...
2. Apa maksudnya digunakan ketika pengguna memilih video untuk pemutaran.
android
youtube
android-intent
emulation
Isaac Waller
sumber
sumber
Jawaban:
Dan bagaimana dengan ini:
Catatan: Berhati-hatilah saat Anda menggunakan metode ini, YouTube dapat menangguhkan saluran Anda karena spam, ini terjadi dua kali dengan saya
sumber
Ini akan bekerja pada perangkat tetapi bukan emulator per jawaban Lemmy .
sumber
Inilah cara saya mengatasi masalah ini:
Sekarang saya telah melakukan penelitian lebih lanjut, sepertinya saya hanya perlu 'vnd.youtube:VIDEO_ID' alih-alih dua garis miring setelah titik dua (':' vs. ': //'):
http://it-ride.blogspot.com/2010/04/android-youtube-intent.html
Saya mencoba sebagian besar saran di sini dan mereka tidak benar-benar bekerja dengan baik dengan semua metode "langsung" yang seharusnya meningkatkan pengecualian. Saya akan berasumsi bahwa, dengan metode saya, jika aplikasi YouTube TIDAK diinstal, OS memiliki posisi mundur default untuk sesuatu selain menabrakkan aplikasi. Aplikasi ini secara teoritis hanya terjadi pada perangkat dengan aplikasi YouTube pada mereka, jadi ini seharusnya bukan masalah.
sumber
Gunakan kode saya .. Saya dapat memutar video youtube menggunakan kode ini ... Anda hanya perlu memberikan id video youtube dalam variabel "videoId" ....
sumber
Di mana
videoId
id video dari video youtube yang harus diputar. Kode ini berfungsi dengan baik di Motorola Milestone .Tetapi pada dasarnya apa yang bisa kita lakukan adalah memeriksa aktivitas apa yang dimuat saat Anda memulai aplikasi Youtube dan dengan demikian mengganti nama paket dan nama kelas.
sumber
ERROR/AndroidRuntime(1519): Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.google.android.youtube/com.google.android.youtube.PlayerActivity}; have you declared this activity in your AndroidManifest.xml?
Silakan atasi ini.Youtube (dan aplikasi Market) seharusnya hanya digunakan dengan ROM khusus, yang dirilis Google untuk G1 dan G2. Jadi Anda tidak dapat menjalankannya dalam OpenSource-ROM, seperti yang digunakan di Emulator, sayangnya. Yah, mungkin Anda bisa, tetapi tidak dengan cara yang didukung secara resmi.
sumber
EDIT: Implementasi di bawah ini terbukti memiliki masalah pada setidaknya beberapa perangkat HTC (mereka crash). Untuk alasan itu saya tidak menggunakan setclassname dan tetap dengan menu pemilih tindakan. Saya sangat tidak suka menggunakan implementasi lama saya.
Berikut ini adalah implementasi lama:
Di mana Utility adalah kelas utilitas pribadi saya sendiri dengan metode berikut:
Pertama saya memeriksa apakah youtube diinstal, jika diinstal, saya memberi tahu android paket mana yang saya pilih untuk membuka maksud saya.
sumber
Menemukannya:
sumber
Membalas pertanyaan lama, hanya untuk memberi tahu kalian bahwa paket telah berubah, inilah pembaruannya
Ini berfungsi dengan baik, tetapi saat Anda memanggil Intent normal dengan ACTION_VIEW dengan pengguna URL youtube yang valid, pilih Pemilih aktivitas.
sumber
Cara paling aman untuk menjalankan video pada aplikasi yang berbeda adalah dengan terlebih dahulu mencoba menyelesaikan paket, dengan kata lain, periksa apakah aplikasi tersebut diinstal pada perangkat. Jadi jika Anda ingin menjalankan video di youtube Anda akan melakukan sesuatu seperti ini:
sumber
Youtube sekarang memiliki api pemain, Anda harus mencobanya.
https://developers.google.com/youtube/android/player/
sumber
sumber
Anda juga bisa langsung ambil
WebViewClient
Bekerja dengan baik di aplikasi saya.
sumber
Coba ini:
sumber
Ini akan berfungsi jika aplikasi youtube diinstal. Jika tidak, pemilih akan muncul untuk memilih aplikasi lain:
sumber
Coba ini,
sumber
Fungsi ini berfungsi dengan baik untuk saya ... cukup berikan string url dalam fungsi:
sumber
Anda dapat menggunakan Youtube Android player API untuk memutar video jika aplikasi Youtube diinstal, jika tidak, hanya meminta pengguna untuk memilih dari browser web yang tersedia.
sumber