ユーザーがブラウザーですべてのビデオの再生を手動で開始しなくても、ユーザーが Web サイトからフラッシュ ビデオをダウンロードできるようにする Android 用のアプリを作成できるかどうかを考えています。このアプリは、特定の Web サイトだけでなく、フラッシュ ビデオを再生するすべての Web サイトでも理想的に機能するはずです。アプリはルートを必要としません。
宿題をして何度もグーグルで調べた後、そのようなアプリは不可能であるという結論に達しましたが、より経験豊富な人にこれを確認してもらいたい (または、間違っている場合は回避策を提案してもらいたい) だけでした。
そのようなアプリが(理論的に、理想的に)どのように機能するか:
アプリは、バックグラウンド スレッドで実行されるサービスを開始し、開いているアクティビティを必要としません。
サービスは、ビデオがある Web ページ (html ファイル) をロードします。
アプリはページを解析して、通常ビデオを再生する .swf ファイルを見つけます。
アプリは、ユーザーが「再生」を押したかのように、swf ファイル内のアクション スクリプトに偽のクリックを送信します。
しばらくすると、アプリは webview のキャッシュをチェックします (まだ、ユーザーに表示されるアクティビティはありません)。キャッシュに .flv ファイルがある場合は、それらを SD カードのフォルダーにコピーします。
このスキームでは、複数のことが失敗する可能性があります。
in 3: swf ファイルの [再生] ボタンのクリックをエミュレートできるかどうかはわかりません。特に、現在の正確な Web サイトがわからず (アプリを任意の Web サイトで動作させたい)、Web サイトが独自の、カスタム作成された SWF フラッシュ プレーヤー。また、実行中のアクティビティさえなければ、.swf ファイルが入力を受け取ることができる状態になるかどうかもわかりません。
in 4: Web キャッシュは /data/data/app_package_name/cache/webViewCacheChromium に保存され、電話がルート化されていない限り、アプリ自体 (?) でもこのフォルダーにアクセスできません。
それだけだと思うので、そんなアプリは作れないはずです。
ところで、Google Chrome の FVD 拡張機能は、Chrome ブラウザのキャッシュをスキャンして FLV ファイルを取得しますか?
ありがとう!
編集: Youtube が現在 html5 を使用していることは知っています。Youtube の動画をダウンロードするつもりはありません。
編集: 特定の Web サイト (Youtube など) で動作するアプリを見てきましたが、基本的な防御策として flv ファイルを配信する方法を Web サイトが変更するため、そのようなアプリを作成することはできません。私の質問は、偽の再生を開始し、既にキャッシュにあるビデオ ファイルを取得することです。