android软件自动启动软件下载,如何自动启动Android应用程序?

我总是在这里讨论这个话题。 我将代码放在这里,以便我(或其他人)下次使用。 (讨厌讨厌搜索我的存储库代码)。

添加权限:

添加接收器和服务:

android:permission="android.permission.RECEIVE_BOOT_COMPLETED">

创建类启动器:

public class Launcher extends Service {

@Nullable

@Override

public IBinder onBind(Intent intent) {

return null;

}

@Override

public int onStartCommand(Intent intent, int flags, int startId) {

new AsyncTask() {

@Override

protected Service doInBackground(Service... params) {

Service service = params[0];

PackageManager pm = service.getPackageManager();

try {

Intent target = pm.getLaunchIntentForPackage("your.package.id");

if (target != null) {

service.startActivity(target);

synchronized (this) {

wait(3000);

}

} else {

throw new ActivityNotFoundException();

}

} catch (ActivityNotFoundException | InterruptedException ignored) {

}

return service;

}

@Override

protected void onPostExecute(Service service) {

service.stopSelf();

}

}.execute(this);

return START_STICKY;

}

}

创建类BootUpReceiver,以便在Android重新启动后执行操作。

例如,启动MainActivity:

public class BootUpReceiver extends BroadcastReceiver{

@Override

public void onReceive(Context context, Intent intent) {

Intent target = new Intent(context, MainActivity.class);

target.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

context.startActivity(target);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值