2016-05-23 13 views
0

アンドロイドデバイスを本質的にキオスクモードで動作させるアプリケーションを作成しています。 (はい、自発的に)。アプリケーションの一部は、自身の新しい更新が利用可能かどうかを確認する必要があります。私は数時間の研究をしましたが、多くの質問があります。私の質問は次のとおりです: 1)Dropboxでファイルをホストしようとしましたが、.apkがダウンロードされたとき(接続がタイムアウトしない場合)に何も起こりません。アプリのインストール/更新のプロンプトは表示されません。どうしてこれなの? 2)リクエストがタイムアウトした場合にリクエストを再試行するには、コードにどのような情報を含める必要がありますか? 3)ファイルをどのようにホストする必要がありますか? dropbox、mediafire、または専用の専用サーバーを経由する必要がありますか?あなたのアプリケーションの設定プロセス内からアプリケーションのアップデートを確認する方法

私はこの自動更新の考え方から始めているので、他の多くの人も私の靴の中にいると思います。 ありがとうございます!

+0

Google Playでホストすることができず、更新を管理できない理由はありますか? – adelphus

+0

はい、それはプライベートで、通常の市場から離れていなければなりません。私も仕事のためにアンドロイドを見ましたが、むしろ無料で安価なオプションを利用したいと考えています – Ethan

+0

無制限の使用のためのGoogle開発者で、プレイストアでapkをホストし、alpha/betaのロールアウトと一般的なロールアウトを制御するには25ドルGoogle Playでホストしない理由は何ですか? – t0mm13b

答えて

0

これは私がしなければならなかったすべてだった、実際には比較的簡単だった:

  1. 使用JSoup現在のバージョン番号
  2. にその数を比較し、現在のバージョン番号をオフライン
  3. を引っ張ってダウンロード新しいバージョンのオンライン(DropBoxでホストされています)
  4. 新しくインストールする予定があります。.apk それだけです!シンプルで効果的!
0

これを手動で実行したい場合は、多少の作業が必要ですが、可能です。一般的には、次の操作を行う必要があります。

  • APKをダウンロードします(ホストしたい場所から)。 APKを というファイルに保存します。アプリのプライベートデータ領域または外部 ストレージに保存します。これにはquestions on SOがあります。
  • APKが現在のバージョンから変更されているかどうかを確認します。 APKファイルデータの単純なSHA-1ハッシュが機能するはずです。これは - ダウンロードしたAPKは誰にでも読めるようファイルをマークし、あなたのプライベートデータ 領域に格納されている場合は
  • (あなたがApplicationInfo.sourceDir経由 インストールAPKの場所を取得することができます)APKのハッシュ現在インストールされたファイルに対して にそれを比較なぜなら のAndroidパッケージインストーラは、 にアクセスできない場合、アプリケーションのインストールに失敗するからです。
  • APKファイルハッシュが変更された場合、start an intent to launch the package installer。アップグレードを実行するように求められます(Android OSを変更しない限り、インストールすることはできません)。
+0

ユーザーにプロンプ​​トを表示せずに自動ダウンロードを許可するファイルはどこに置くことができますか?自動ダウンロードでは、既にダウンロードされた後にユーザーにダイアログを表示するという意味ではありません。 – Ethan

+0

APKは通常のzipファイルです。公共のインターネットアクセスを許可する任意のサーバーでホストすることができます。 Dropboxに問題がある場合は、いくつかの[代替]を試してください(http://www.cloudwards.net/top-10-secure-dropbox-alternatives/) – adelphus

+0

しかし、それはユーザーが実際にダウンロードボタンをクリックするよう強制しますウェブサイト自体は正しいですか?私はアプリケーションの中にボタンを押してアップデートをダウンロードしてインストールする必要があります。外部(クロム、ブラウザなど)がポップアップしてユーザーにプロンプ​​トを表示することはできません。私は、Dropboxからダウンロードリンクを 'https:www.dropbox.com/s/garbage/myfile.apk?dl = 0'から' dl = 1'に変更すると、ファイルは自動的にWindows上でダウンロードされることに気付きましたそれはアンドロイドで何もしません。それは実際に404を返します。 – Ethan

関連する問題