我正在尝试编写一个管理员,从网上下载并安装一个apk,用于我正在进行的终端服务。
我可以让我的APKManager接受一个上下文,然后用它来启动一个活动,在下载后安装apk。
public static void installAPK(Context context, String filename, Callback callback) {
Intent installIntent = new Intent(Intent.ACTION_VIEW);
File apkFile = new File(Environment.getExternalStoragePublicDirectory(
ENVIRONMENT_DIRECTORY), DIRECTORY_NAME +"/"+filename);
installIntent.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive");
installIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(installIntent);
}
如何从context.startActivity()获得完成回调? 我知道你可以通过活动的孩子提供的这个功能来接收它:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
}
但我的经理不是一项活动,所以我希望还有另一种方式。
答案 0 :(得分:1)
收听广播接收器的动作android:name =" android.intent.action.PACKAGE_ADDED"