开发版自启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)。1.微信公众号微信公众
2023-06-05
做一个自己用的app要多少钱
做一个自己用的app需要多少钱取决于很多因素,包括应用程序的目的、功能、平台、开发成本、市场和推广等。在这篇文章中,我将详细介绍这些因素,以帮助您对应用程序开发的成本有一个清晰的了解。1. 目的和功能应用程序的目的和功能是制定预算的重要考虑因素。目的和功能
2023-06-05
自由行app小程序开发
自由行app小程序是指可以在微信上使用的小程序,它提供了一个轻量级的应用环境,旨在为用户提供简单、快速的入口,让用户可以方便地浏览、查找并预定旅行相关服务和活动,同时也提供了一些与旅行相关的功能,如旅行攻略、游记、景点介绍等等。下面,我将为大家详细介绍自由
2023-06-05
自制app制作
随着智能手机的广泛普及,APP已经成为人们日常生活中不可或缺的一部分。而在APP市场如此竞争激烈的情况下,自己动手制作一个APP成为了越来越多人所期望的事情。那么,自制APP到底是如何实现的呢?首先,我们需要了解的是APP制作的基本原理。APP的制作本质上
2023-06-05
自己开发的鸿蒙app无法安装软件
对于自己开发的鸿蒙app无法安装软件,可能是出现了一些常见的问题,例如签名问题、权限问题、环境问题等。首先,先说一下签名问题。在应用市场或者系统内部默认情况下,只有通过官方开发者平台进行签名的应用才能被允许安装。如果自己开发的应用没有签名,或者签名不合规范
2023-06-05
自动售货app开发
自动售货app是一种通过手机应用程序与自动售货机进行交互的方式,从而实现商品选择、支付、取货等功能的应用程序。本文将介绍自动售货app的工作原理和开发方式,以及如何实现该应用程序的不同功能。1. 自动售货app的工作原理自动售货app通过与自动售货机进行无
2023-06-05
怎样做自己微信产品平台app
微信是目前国内最流行的社交应用之一,拥有庞大的用户群体和活跃度。很多人都想开发自己的微信产品平台app,那么怎样做呢?下面我将从原理和详细介绍两个方面来讲解。一、原理1.微信开放平台微信开放平台提供了一系列API接口,可以用于各种开发场景,如登录验证、消息
2023-06-05
有没有自己做攻略的app
现在越来越多的人喜欢出去旅游或者尝试新的美食,但是在这个过程中,很多人面临着一个困难——如何制定一份完美的旅游或美食攻略。这时候,自己做攻略的app就变得非常受欢迎了。那么,自己做攻略的app是怎么实现的呢?一、原理自己做攻略的app的实现原理其实很简单,
2023-06-05
淘宝app自建
淘宝是一个非常成功的电商平台,运营了20多年。作为一家最大的电商平台,淘宝必须能够提供一个功能丰富且可靠的应用程序。目前,淘宝的应用程序具有很多特性,它在设计方面处于前沿,拥有最新的技术和最先进的方法。本文将重点讲解淘宝app自建的原理或详细介绍。淘宝ap
2023-05-31
适合自己做小说封面的免费app
现如今,随着互联网和智能手机的普及,越来越多的人选择自己写小说,而小说封面也成为了吸引读者注意力的关键。为了满足这样的需求,许多专门用于制作小说封面的应用程序应运而生。以下是介绍几款适合自己做小说封面的免费app。1. CanvaCanva是一款免费的全功
2023-05-31
如何自己用手机制作斗地主app
制作斗地主app的过程并不复杂,关键是要具备一定的编程基础和知识。以下是一个简单的制作过程介绍。首先,需要选择适合自己的开发平台。Android系统和IOS系统是目前市面上较为流行的手机应用开发平台,两者有所不同,具体的制作流程会有所区别。本文以制作And
2023-05-30
app可以自己做吗怎么赚钱
随着智能手机的普及,移动应用(app)已经成为了人们日常生活中必不可少的一部分。因此,越来越多的人开始考虑自己做app,并探究如何通过app赚钱。本文将对这个问题进行详细介绍。一、制作app的方式目前,可以通过三种方式制作app:1.自主开发自主开发适合于
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1