【发布时间】:2014-11-19 00:54:48
【问题描述】:
我正在尝试编写一个管理器,用于从网络下载并安装一个 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) {
}
但我的经理不是一个活动,所以我希望有另一种方式。
【问题讨论】: