2016-09-02 7 views
-2

this is the situationのAndroid - ダウンロードしたAPKファイルの後、プログラム

の.apkをインストールするときに、私は、インストールを開始するには、次のコードを使用し、「キャンセル」イベントをキャッチ、それはうまく動作します。

@Override 
public void onReceive(Context context, Intent intent) { 

    String action = intent.getAction(); 

    if (action.equals(BroadcastActionConstants.DOWNLOAD_FINISHED)) { 
     // download finished 
     final File file = (File) intent.getExtras() 
       .getSerializable(DownloadService.DOWNLOAD_FILE); 

     Intent install = new Intent(Intent.ACTION_VIEW); 
     String pathString = file.getAbsolutePath(); 
     install.setDataAndType(
       Uri.fromFile(new File(pathString)), "application/vnd.android.package-archive"); 
     install.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     context.startActivity(install); 
    } 
} 

ここで、インストールページが表示されたら、「キャンセル」イベントをキャッチしたいと思います。 PLZヘルプ。

答えて

2

あなたは、ユーザーがインストールをキャンセルした場合、あなたはそれを受信しません、

<receiver android:name=".ApkInstalledReceiver" android:exported="true"> 
    <intent-filter> 
     <action android:name="android.intent.action.PACKAGE_ADDED" /> 
     <data android:scheme="package" /> 
    </intent-filter> 
</receiver> 

ので、インストールパッケージをリッスンするために、別のレシーバを追加することができます。

+0

あなたは私の質問に答えていません....ユーザーが「キャンセル」ボタンをクリックした場合、apkファイルを削除したいのですが?あなたはスクリーンショットを見たことがありますか?ここにリンク[リンク](http://i.stack.imgur.com/Tz1uM.png)plzチェック –

+0

がインストールされていないので、それはキャンセルされました –

+0

ありがとう、私は迂回路を作って、この問題を避ける:) –

関連する問題