开发版自启app

在Android开发中,有时需要我们在设备开机后自动启动应用程序。这种需求通常出现在需要后台常驻的应用中,例如推送服务、广告服务等等。然而,Android系统中并没有提供直接的API或配置项可以让我们设置应用程序自动启动。因此,我们需要采用一些特殊的技巧来实现这一功能。

一、原理

Android开机后,系统会自动从系统分区加载启动器程序,然后启动该程序。启动器程序通常指的是桌面程序。在桌面程序中,通过应用程序包名来启动我们要启动的应用程序。

因此,只要我们能够在设备开机后,把自己的应用程序添加到系统桌面中,系统自动启动桌面程序后,就可以启动我们的应用程序了。

二、实现方法

1. 添加到桌面

在 Android 设备上创建快捷方式的过程与在应用程序中创建快捷方式的方法类似,具体可以参考以下代码:

```

Intent shortcut = new Intent(ACTION_INSTALL_SHORTCUT);

// 设置快捷方式的名称

shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));

// 设置快捷方式的icon

ShortcutIconResource icon = Intent.ShortcutIconResource.fromContext(this, R.drawable.icon);

shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);

// 设置快捷方式的intent

Intent launcherIntent = new Intent(this, MainActivity.class);

launcherIntent.setAction(Intent.ACTION_MAIN);

shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, launcherIntent);

sendBroadcast(shortcut);

```

2. 监听开机广播

我们可以通过监听设备启动广播来实现开机后的自动启动。监听 BOOT_COMPLETED 广播需要设置权限,如下所示:

```

```

监听 BOOT_COMPLETED 广播的代码如下:

```

android:name=".BootBroadcastReceiver"

android:enabled="true"

android:exported="false"

android:label="BootBroadcastReceiver">

```

```

public class BootBroadcastReceiver extends BroadcastReceiver {

private final String ACTION_BOOT = "android.intent.action.BOOT_COMPLETED";

@Override

public void onReceive(Context context, Intent intent) {

if (intent.getAction().equals(ACTION_BOOT)) {

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

bootIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

context.startActivity(bootIntent);

}

}

}

```

优化:通过判断系统是否处于开机启动时加载应用缩短启动时间

```

public class BootBroadcastReceiver extends BroadcastReceiver {

private static final String ACTION_BOOT = "android.intent.action.BOOT_COMPLETED";

@Override

public void onReceive(Context context, Intent intent) {

// 如果系统处于开机启动状态,加载相应的应用,提升用户体验

if (intent.getAction().equals(ACTION_BOOT)) {

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

bootIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

context.startActivity(bootIntent);

}

}

}

```

三、注意事项

1. 必须在系统开机之后才能执行添加到桌面的操作,否则无法添加成功。

2. 在 Android 6.0 以后,如果需要监听 BOOT_COMPLETED 广播,需要动态申请权限。

3. 监听 BOOT_COMPLETED 广播需要在 AndroidManifest.xml 文件中进行配置并添加广播接收器。

4. 在 Android 8.0 及以上版本中,如果应用程序长时间处于后台状态,可能会被系统强制停止,导致自启动失败。如果需要保证应用程序在后台常驻运行,可以使用前台服务或者通过 JobScheduler 进行调度。

总之,通过监听开机广播和添加桌面快捷方式,我们可以实现在设备开机后自动启动应用的功能。通过此方法实现自启动功能需要注意 Android 系统的版本限制和权限限制,同时应该尽量避免对用户造成不必要的干扰。


相关知识:
自律app开发
自律app是一类针对个人管理和自我调节的应用程序,随着人们日益追求高效生活、忙碌工作、多元化生活方式,越来越多的个人渴望通过技术手段提高个人管理水平,提高生活质量。自律app的主要功能包括控制烟酒饮食、规律作息、固定运动、个人时间管理、习惯养成等,为个人提
2023-06-05
自建app分发
自建App分发指的是开发者自主将App上传到自己的服务器上,通过特定的方式实现用户下载安装。相对于应用商店的上架审核流程较长,自建App分发可以让开发者更加灵活地控制App的更新和发布,同时也能够节省应用商店所需要支付的费用。自建App分发的方式主要有两种
2023-06-05
自己做宣传页的app
在互联网时代,宣传页已经成为了许多公司推广品牌和产品的重要手段。宣传页不仅能够直接呈现出公司的品牌形象与产品信息,还能够快速地传递到潜在客户的手中,让他们从视觉、语言等多个方面深入了解公司的特色与产品服务。而如何快速制作出一份精美的宣传页成为了不少公司或个
2023-06-05
自己可以做代码软件的app
如果你想自己开发一款代码软件的app,以下是一些基本步骤:第一步:确定你的目标受众和功能需求在决定开发一款代码软件的app之前,你需要确定你的目标受众和他们的需求。对初学者而言,可能需要一些基于图形化界面的代码编辑器,而对于有经验的开发者而言,他们可能需要
2023-06-05
自己做app创业挣钱么
自己做APP创业是可以挣钱的,但并不是一件容易的事情。要想成功地创业,你需要具备一定的专业知识和技能,还需要投入大量的时间和精力去开发、测试、推广和营销你的APP。在这篇文章中,我将为你介绍自己做APP创业的原理和详细流程。一、APP创业的原理APP创业的
2023-06-05
怎样发布自己制作的app
发布自己制作的app,需要经历几个步骤,其中包括开发、测试、发布,下面我们逐步剖析每个步骤的具体细节。1.开发开发阶段是最困难的阶段,这是因为它需要处理复杂的编程问题。下面是开发阶段的一些注意事项:1.确定应用程序的目标受众。2.根据目标受众确定应用程序的
2023-06-05
苹果手机如何自己制作app
苹果手机自己制作App涉及的技术和知识比较丰富,需要掌握一些iOS开发的基础知识和相关开发工具的使用方法。下面就来详细介绍一下制作iOS应用的基本流程以及相关技术和知识。1.选择开发工具首先要选择一款适合自己的开发工具,目前较常用的是Xcode。Xcode
2023-05-30
零基础自建app
自建APP的概念相信大家不陌生,它能够让我们将自己的想法变成现实,让更多人使用我们的产品。但是对于零基础的人来说,自建APP可能还是一个比较陌生的领域。下面我将介绍一些自建APP的原理和详细步骤,供大家参考。一、自建APP的原理:自建APP的原理可以分为三
2023-05-30
简历制作app可不可以自定义内容
随着互联网技术的发展和大众的求职需求不断增加,简历制作App也越来越受到欢迎。这类App除了具备传统的“填空”模式,还可以提供更加个性化和自定义的简历制作体验,满足用户不同的需求。一般而言,简历制作App的自定义流程主要包括三个方面:模板选择、样式调整、自
2023-05-30
app自助开发工具
随着移动互联网的发展,手机应用已经成为人们必不可少的工具之一。而手机应用的开发一直以来都是我们所依赖的技术之一,但是对于一般的开发者来说,开发一款应用需要掌握很多技能,同时需要大量的时间和精力。因此,自助开发工具应运而生,它可以帮助我们快速轻松地开发出自己
2023-05-30
app自定义开发软件
随着智能手机和移动设备的普及,APP应用市场越来越火热,成为了企业和开发者们的重要赛道。相较于传统的软件开发,APP的开发门槛更低,市场流通更快,用户口碑效应也更为明显。那么APP的开发是如何实现的呢?下面就介绍一下APP的自定义开发原理和方法。前置准备:
2023-05-30
app开发之自动登录
在智能手机时代,许多应用程序都需要用户先登录才能使用,这对于用户来说可能有些麻烦。我们可以通过实现自动登录来解决这个问题。自动登录是一种可以让用户不必重新输入用户名和密码就能登录应用程序的功能,下面我们来详细介绍自动登录的实现原理。自动登录原理实现自动登录
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1