开发版自启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拥有短信提醒功能
短信提醒功能是现代化移动设备的一个必要功能,特别是对于那些需要及时响应的应用。开发者可以将这种功能集成到他们的应用程序中,以提供更好的用户体验。实现原理:在安卓(Android)中,我们可以使用SmsManager类来发送和接收短信。为了使用短信功能,我们
2023-06-05
自己在家做app免费软件有哪些
如今移动端APP市场已经是一个火爆的市场,很多人都想着自己能够在这个市场占一席之地,但是对于没有开发经验的人来说,这是一个非常难以突破的领域。但好消息是,有一些软件能够帮助那些没有开发经验的人自己制作APP,下面就给大家介绍一些。1. APP制作工厂APP
2023-06-05
自己制作衣服软件app手机版
自己制作衣服软件app手机版需要掌握一定的编程知识,如Java、C++等语言。以下是详细介绍:1. 需求分析在开始开发应用程序之前,需要进行对开发目标、用户需求、功能需求、模块分析等方面进行详细的需求分析,以确保开发的应用程序具备明确的目标和可行性。2.
2023-06-05
怎么自己制作贷款app软件
自己制作贷款APP软件可以分为以下几步:1. 调研市场需求和竞争对手在开始制作贷款APP之前,需要先做市场研究,确定目标用户和市场需求并了解竞争对手的情况。这可以帮助你制定合适的功能和服务,以满足用户需求并提供有分别度的产品。2. 制定功能需求和设计制作贷
2023-06-05
有哪些app做自媒体可以赚钱的
随着自媒体热潮的持续发展,越来越多的人开始关注自媒体的赚钱问题。其实,自媒体赚钱的渠道非常广,其中比较常用的方式就是在各种app上做自媒体。下面,我将详细介绍几个可以让您赚钱的自媒体app。1. 微信公众号微信公众号是自媒体领域最赚钱的平台之一。它极大地促
2023-06-05
苹果app编程开发自学
苹果APP开发是指在苹果系统下进行的应用程序开发,现在苹果APP已经成为了移动应用程序的主要形式之一,给人们的生活和工作带来了很多的便利。下面我将从原理和详细介绍方面对苹果APP开发进行自学的方法进行分析。一、原理的学习在进行苹果APP编程开发的时候,要首
2023-05-30
如何自己制作漫画的app
要制作一个漫画制作的app,需要考虑以下几个方面:1. 设计和用户界面要设计一个清晰、简单、易于使用的用户界面正在使用的app,因为这将是用户和你的app进行交互的地方。因此,应确保设计具有良好的可用性和吸引力,能够吸引业内外的用户群体。2. 数据库管理漫
2023-05-30
如何自己做app然后上市
要自己做一个app并最终上市,需要经过很多步骤,包括概念开发、设计、编程、测试和上市。下面是一些详细介绍:一、概念开发在开始设计和编程应用程序之前,需要先确定一个好的概念。这意味着需要做足够的市场研究,找出一个具有真正需求的切实可行的想法。在市场研究过程中
2023-05-30
如何在手机上制作自己的app
在如今的移动互联网时代,app的市场越来越大,越来越多的人也开始考虑制作自己的app。但是,要想在手机上制作自己的app,并不是一件容易的事情。本文将从app开发的基本原理、app制作的步骤和常用的app开发工具和语言三个方面介绍如何在手机上制作自己的ap
2023-05-30
类似磨题帮的刷题app自己做试卷
磨题帮是一款智能在线题库平台,它提供了大量的高质量题目,用户可以通过磨题帮App进行刷题练习、模拟考试等。类似磨题帮这样的刷题app,其实都利用了题库、算法和人工智能等技术。首先,这类刷题App的基本原理是通过建立一份题目数据库,将大量的题目上传到平台服务
2023-05-30
简单免费自建苹果app
自建苹果App的方式有很多,这里将介绍一种简单且免费的方法。需要注意的是,本方法需要下载一些第三方工具,可能会涉及到一些风险,请自行考虑风险并谨慎操作。1. 注册苹果开发者账号首先需要去苹果官网注册一个开发者账号。注册成功后,需要在设置中创建一个APP I
2023-05-30
app里的积分商城不用自己做
积分商城是目前市面上很流行的一种用户激励机制,特别是在一些移动应用中,常常会出现积分、金币或能量等虚拟货币的存在。这些虚拟货币既可以是用户通过完成任务、分享、邀请好友等方式获得的,也可以通过直接购买获得。而积分商城就是提供了一个兑换的平台,用户可以用这些虚
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1