0

私のプロジェクトでは、私の拡張ファイルの470MBをアップロードすることができ、私は自分のapkをダウンロードしている間にダウンロードを取得しています。拡張ファイルが見つからない場合は、アプリに拡張ファイルをプレイストアからダウンロードするように指示する必要がありますか? 次のリンクの指示に従って試しましたenter link description here拡張ファイルが見つからない場合は、コードから拡張ファイルを呼び出す方法はありますか?

+0

「指示に従ってみました...」:それは機能しましたか? – Henry

答えて

0

apkと一緒に拡張ファイルをダウンロードするサンプルコードに従ってください。 アプリケーションの最初のアクティビティは、拡張ファイルがすでにダウンロードされているかどうかを確認する1つの方法が必要な拡張ファイルダウンローダアクティビティでなければなりません。

boolean expansionFilesDelivered() { 
     for (XAPKFile xf : xAPKS) { 
      String fileName = Helpers.getExpansionAPKFileName(this, xf.mIsMain, 
        xf.mFileVersion); 
      if (!Helpers.doesFileExist(this, fileName, xf.mFileSize, false)) 
       return false; 
     } 
     return true; 
    } 

このメソッドがfalseを返す場合、拡張ファイルをダウンロードする必要があります。拡張ファイルのダウンロードコードは、以下のように記述する必要があります。上記のコードExpansionDownloaderで

initializeDownloadUI(); 
    Intent launchIntent = ExpansionDownloader.this.getIntent(); 
        Intent intentToLaunchThisActivityFromNotification = new Intent(
          ExpansionDownloader.this, 
          ExpansionDownloader.this.getClass()); 
        intentToLaunchThisActivityFromNotification 
          .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK 
            | Intent.FLAG_ACTIVITY_CLEAR_TOP); 
        intentToLaunchThisActivityFromNotification 
          .setAction(launchIntent.getAction()); 

        if (launchIntent.getCategories() != null) { 
         for (String category : launchIntent.getCategories()) { 
          intentToLaunchThisActivityFromNotification 
            .addCategory(category); 
         } 
        } 

        // Build PendingIntent used to open this activity from 
        // Notification 
        PendingIntent pendingIntent = PendingIntent.getActivity(
          ExpansionDownloader.this, 0, 
          intentToLaunchThisActivityFromNotification, 
          PendingIntent.FLAG_UPDATE_CURRENT); 
        // Request to start the download 
        int startResult = DownloaderClientMarshaller 
          .startDownloadServiceIfRequired(this, pendingIntent, 
            ExpansionService.class); 

        if (startResult != DownloaderClientMarshaller.NO_DOWNLOAD_REQUIRED) { 
         // The DownloaderService has started downloading the files, 
         // show progress 
         initializeDownloadUI(); 
         return; 
        } // otherwise, download not needed so we fall through to 
         // starting the movie 
       } catch (NameNotFoundException e) { 
        Log.e(LOG_TAG, "Cannot find own package! MAYDAY!"); 
        e.printStackTrace(); 
       } 

process.Youは、サンプルコードからExpansionServiceとExpansionReceiverクラスを取得することができ、ダウンロード処理するメインクラスです。

関連する問題