开发版自启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,首先要了解的是APP的本质:APP是一种软件应用,它是运行在移动设备上的程序。APP的编写主要包括两个
2023-06-05
自己能开发外卖app吗
当下,随着移动互联网以及智能设备的普及,外卖APP已经成为人们生活中不可或缺的一部分。利用外卖APP,人们可以在家中轻松点餐,不出家门就能享用到美食。如今,开发一款属于自己的外卖APP早已不算是什么难事了。但是开发一款外卖APP需要考虑的内容还是比较多的。
2023-06-05
自己制作剧本的app
随着科技的日新月异,人们越来越喜欢使用智能手机和电脑来完成各种不同的任务。在这一场数字化浪潮中,许多人制作自己的应用程序来解决他们面临的各种问题。其中,一些人开始关注创作一个自己可以编写剧本的应用程序。制作一个剧本软件需要综合许多技术。首先,一个好的剧本软
2023-06-05
自己制作app软件卖东西
要制作一个自己的app软件并卖东西,可以分为以下几个步骤:1. 确定销售的产品类型和定位首先要确定你要销售的产品类型和目标消费者群体。对于卖东西应用程序,通常包括电子产品、服装、鞋子、食品、化妆品等等。同时,你也需要对品牌进行定位,确定目标消费者和不同的差
2023-06-05
自己做app步骤
随着智能手机的普及,移动应用市场成为了新的互联网风口,越来越多的人开始尝试自己开发移动应用。但是,对于刚入门的开发者来说,要做出一个完整的优秀的移动应用并不是件容易的事情。下面我将从原理和详细步骤两方面介绍如何自己做一个app。一、原理一个完整的移动应用有
2023-06-05
智能还款app自己开发和代理区别
智能还款app是一种应用软件,它可以帮助用户规划自己的还款计划,并自动执行还款。这种应用软件逐渐成为了金融科技领域的一个重要补充,因为它为用户提供了方便快捷的服务。类似的应用软件有很多,包括自己开发的还款app和代理的还款app。下面我们就来详细介绍一下这
2023-06-05
小白可以自学app开发吗
自学app开发并非易事,但对于想要进入移动开发领域的小白来说,这是一项必要的技能。以下将详细介绍自学app开发的原理和步骤。1. 掌握编程语言编程语言是app开发的基础。对于小白来说,建议先学习Java语言或Kotlin语言。Java更为成熟、稳定,Kot
2023-05-31
想自学app开发可以吗
自学APP开发是完全可行的。随着移动互联网时代的发展,APP开发已成为一项广受欢迎的技能。有许多在线资源和工具,可以提供指导和支持,使自学变得更容易。在本文中,我将向您介绍APP开发的基础知识和入门技巧。app开发需要的基本技能在自学APP开发之前,您需要
2023-05-31
晋中自动量化交易app开发报价是多少
晋中自动量化交易app开发是一个针对证券交易的自动化交易平台,能够通过程序化算法进行交易,利用大数据的力量实现高效盈利。该应用的开发需要综合考虑多种因素,包括交易策略的设计、交易数据的收集和分析、用户友好的界面设计等等。下面是对晋中自动量化交易app开发的
2023-05-30
大二自学编程做app
自学编程做app,是一个非常有挑战性和有意义的过程。对于一个大二的学生来说,自学编程可以帮助培养扎实的编程基础和将来从事软件工程等相关工作的技能。下面,就以iOS平台为例,简要介绍自学编程做app的原理和具体的步骤。1. 环境搭建首先,自学编程需要用到开发
2023-05-30
传统企业自建移动商城app介绍
移动商城app是现代电子商务行业的重要组成部分,可以使消费者更轻松地在移动设备上浏览商品、下单、支付、评价等。随着移动互联网的普及,越来越多的传统企业开展了移动商城app的自建工作。本文将就传统企业自建移动商城app的原理或详细介绍进行阐述。传统企业自建移
2023-05-30
shopify自建app
Shopify 是一个非常流行的电子商务平台,许多商家使用 Shopify 来创建他们的网上商店,并在这个平台上销售他们的产品。对于一些特有的需求,在店铺所提供的功能上不能完全满足时,商家们可以开发自己的 Shopify 应用程序,来拓展他们的功能。在这篇
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1