# Android 静默升级
## 1.注册广播
<receiver android:name=".upgrade.UpdateRestartReceiver">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REPLACED" />
<data android:scheme="package" />
</intent-filter>
</receiver>
## 2. 接收广播
public class UpdateRestartReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//接收广播
if (intent.getAction().equals(Intent.ACTION_PACKAGE_REPLACED)) {
Intent intent2 = new Intent(context, MainActivity.class);//重启app
intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent2);
}
}
}
## 3. 下载apk
private boolean downloadApk(String url) throws IOException {
Logger.i("Check package is exists?");
// 设置文件路径
File file = new File(Environment.getExternalStorageDirectory(), "app.apk");
OkHttpClient client = new OkHttpClient();
// download
Request request = new Request.Builder().url(url).build();
try (Response response = client.newCall(request).execute()) {