申请权限:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
1.创建AutoStartReceiver文件
public class AutoStartReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
String localPkgName = context.getPackageName();
Uri data = intent.getData();
String installedPkgName = data.getSchemeSpecificPart();
if ((action.equals(Intent.ACTION_PACKAGE_ADDED)
|| action.equals(Intent.ACTION_PACKAGE_REPLACED)) && installedPkgName.equals(localPkgName)) {
Intent launchIntent = new Intent(context, StartActivity.class);
launchIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(launchIntent);
}
}
}
2.配置文件中注册广播
<receiver android:name=".AutoStartReceiver">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED" />
<action android:name="android.intent.action.PACKAGE_REPLACED" />
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<data android:scheme="package" />
</intent-filter>
</receiver>
说明:一般来讲,设置app安装后自启动的需求,会与“app静默安装”一起出现。适合处理一些不经常有人工操作的app,比如说展示类、自助类的app,所以需要在无人参与的情况下,完成app的升级。