簡體   English   中英

以編程方式在android上安裝APK

[英]Install APK programmatically on android

我一直試圖讓一個Android應用程序以編程方式在SD卡上安裝APK,但我遇到了一些麻煩。

這就是我這樣做的方式:

Intent intent = new Intent(Intent.ACTION_VIEW);           
intent.setDataAndType("ApkFilePath...","application/vnd.android.package-archive");
activity.startActivityForResult(intent,5000);

現在工作正常,它帶來了包管理器,我可以控制在經理完成安裝APK時要做什么。

但我遇到的問題是,如果在安裝結束時用戶單擊“打開”而不是“完成”,則不會調用“OnActivityResult”方法,因為管理器仍然存在....並且關於系統的另一個要求的另一個問題。

有沒有辦法知道用戶何時在包管理器的末尾選擇“打開”,或者是否有辦法強制管理器只顯示我想要顯示的按鈕?

真的可以使用幫助,我到處搜索,似乎沒有找到解決方案

如果安裝了新應用,您可以在AndroidManifest.xml添加接收器以收聽廣播。 像這樣:

<receiver android:name=".PackageReceiver">
    <intent-filter>
        <action android:name="android.intent.action.PACKAGE_ADDED" />
        <action android:name="android.intent.action.PACKAGE_CHANGED" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:scheme="package" />
    </intent-filter>
</receiver>

然后在安裝新包時調用此類:

public class PackageReceiver extends BroadcastReceiver {

  @Override
  public void onReceive(Context context, Intent intent) {
    // handle install event here
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM