簡體   English   中英

當我使用“ startActivity”安裝apk時如何獲得結果代碼

[英]how can i get a resultcode when i use 'startActivity' to install an apk

我安裝了一個apk,使用以下代碼保存在/data/data/package_name/files中:

Uri uri = Uri.fromFile(new File(apkSavingPath));
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri,"application/vnd.android.package-archive");
mContext.startActivity(intent);

我希望它返回一個結果代碼以告訴我apk是否已成功安裝,並且我嘗試了startActivityForResult方法,但是它沒有用。

onActivityResult方法上,無論apk是否成功安裝,其resultCode始終為0(zero) 我可以得到這樣的結果代碼嗎?

嘗試這個。

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

在AndroidManifest.xml上添加您的接收器

<receiver android:name=".PackageReceiver" android:enabled="true" android:exported="true">
    <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