android中怎么实现应用程序的安装自启动和开机自启动?

发布网友 发布时间:2022-04-24 05:01

我来回答

5个回答

热心网友 时间:2023-09-09 22:50

安装自动启动没法做到,想做到静默按照很麻烦的,一般的安装都是通过系统的安装引导程序,当安装完成时界面上会有是否打开应用的按钮

热心网友 时间:2023-09-09 22:51

安装后启动不能实现,开机启动使用楼上的就行。

热心网友 时间:2023-09-09 22:51

谢谢版主的回复啦,安装启动不能实现,开机启动可以,记住了!

热心网友 时间:2023-09-09 22:52

可以定时关机 但是定时开机的软件现在没有

热心网友 时间:2023-09-09 22:52

安装自启动:
要做这个功能有一个前提,那就是用户的机器上已经装过相应应用,也就是说只有升级APK的时候才可以这么干,因为要执行的功能需要程序的配合。
具体步骤如下:
首先要知道程序已经安装完成,所以需要在程序中注册一个广播监听(必须是静态的,你懂的)apk安装完成的action:"android.intent.action.PACKAGE_ADDED",在这个广播的onReceive方法中监听action,并通过intent.getDataString()方法判断安装程序的包名是否属于自己的包名,如果是做下一步操作;
通过Intent显式或者隐式的启动你自己的程序。
建议:
  最好不要这样干,你要考虑一下用户的感受,特别是那种自动安装不需要点确认的时候,正在玩游戏、看视频、看小说、用微信你自动打开一个应用

开机自启动
android实现开机自启动可能是移动操作系统中最简单的了,只需要监听一个开机启动的Broadcast(广播)即可。首先写一个Receiver(即广播*),继承BroadcastReceiver。

如下所示:
public class BootReceiver extends BroadcastReceiver {
private PendingIntent mAlarmSender;
@Override
public void onReceive(Context context, Intent intent) {
// 在这里*想干的事(启动一个Service,Activity等),本例是启动一个定时调度程序,每30分钟启动一个Service去更新数据
mAlarmSender = PendingIntent.getService(context, 0, new Intent(context,
RefreshDataService.class), 0);
long firstTime = SystemClock.elapsedRealtime();
AlarmManager am = (AlarmManager) context
.getSystemService(Activity.ALARM_SERVICE);
am.cancel(mAlarmSender);
am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstTime,
30 * 60 * 1000, mAlarmSender);
}
}

接下来,只需要在应用程序配置文件AndroidManifest.xml中注册这个Receiver来监听系统启动事件即可

如下所示:
<receiver android:name=".service.BootReceiver">
<intent-filter>
<!-- 系统启动完成后会调用-->
<action android:name="android.intent.action.BOOT_COMPLETED">
</action>
</intent-filter>
</receiver>

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com