[英]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.