当前位置:首页 » 安卓系统 » android启动app

android启动app

发布时间: 2023-02-15 21:30:29

㈠ Android 使用广播系统解决app开机自启动问题

关注 【网罗开发】微信公众号,回复【160】便可领取。
网罗天下方法,方便你我开发 ,更多Android技术干货等待领取,所有文档会持续更新,欢迎关注一起成长!

总结一下使用ACTION_BOOT_COMPLETED的广播,解决app开机自启动的问题
1.首先在你的工程上建一个广播接受的类,继承BroadcastReceiver:

2.然后要在AndroidManifest.xml中加入权限和配置相关信息:

3.在application标签中,配置以下相关信息:

补充说明:
1.查看系统中是否安装了类似360管家的软件,为了加快开机速度,默认是关闭掉开机广播的,只需要在设置中打开即可。
2.如果监听不到广播,可以尝试同时监听广播和sd卡。
3.同时监听广播和sd卡,在application标签中,配置以下相关信息:

㈡ Android APP启动白(黑)屏解决方案(适用于App启动立即展现logo、版权等)

Android APP启动白(黑)屏解决方案(适用于App启动立即展现logo、版权等)

我们要求在App启动时显示我们设置的启动页面,实测发现打开app的时候,会有短暂的1秒--2秒的白屏或者黑屏,然后才进入到程序界面。

简单高效的解决方案一:

1、使用layer-list制作背景样式

新建bg_start_pic.xml

<?xml version="1.0" encoding="utf-8"?>

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

<!-- 设置整个屏幕背景为白色 -->

<item>

    <color android:color="@color/white" />

</item>

<!-- 中间logo -->

<item

    android:width="@dimen/dp_150"

    android:height="@dimen/dp_150"

    android:gravity="center">

    <bitmap android:src="@drawable/icon_splash_logo" android:gravity="center" />

</item>

<!-- 底部图表 -->

<item

android:bottom="10dp"

android:gravity="bottom|center_horizontal">

<bitmap android:src="@drawable/pic_banner_home" />

</item>

</layer-list>

2、修改styles.xml文件

增加SplashTheme主题

<style name="SplashTheme" parent="AppTheme">

    <item name="android:windowNoTitle">true</item>

    <item name="android:windowBackground">@drawable/bg_start_pic</item>

</style>

3、修改AndroidManifest.xml

LauncherActivity使用StartAppTheme主题

<activity

            android:name=".LauncherActivity"

            android:label="@string/app_name"

            android:theme="@style/StartAppTheme" >

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

 </activity>

㈢ Android App安装以及启动流程

Android App的安装可以分为有界面的安装和无界面的安装。

有界面的安装其实就是调用系统App(PackageInstaller)去安装apk,打开安装apk应用之后,点击安装按钮执行startInstall方法,然后就进入安装中界面开始安装,安装成功或者失败都会有对应的回调。内部其实也是使用PackageManager的installExistingPackage方法,通过binder机制,调用到PackageManagerService的installExistingPackage方法,最终调用到installExistingPackageAsUser方法安装,而 安装的核心原理其实就是将apk文件拷贝到系统可识别的重要的文件目录

无界面安装是调用adb命令,执行到一个c写的commandline脚本,调用 install_app 方法,然后再调用 pm_command ,然后执行到pm脚本,执行 run 方法,调用 runinstall ,然后调用 installPackageAsUser 通过AMS执行安装。

说到App的启动,就需要从开机开始说起,Android开机会先把所有应用安装一遍就是把apk拷贝到对应的目录(这也是Android开机慢的原因)。

整个流程如下:

其实App的启动,除了刚开机是不一样之外,正常时候基本与Activity的启动非常接近。

热点内容
华为p9扩存储 发布:2025-05-16 20:03:22 浏览:413
如何用苹果ipad登录安卓微信 发布:2025-05-16 19:58:51 浏览:138
预编译error技巧 发布:2025-05-16 19:57:42 浏览:778
php地址正则表达式 发布:2025-05-16 19:44:01 浏览:466
oracle存储过程优点 发布:2025-05-16 19:41:36 浏览:613
无法访问g盘拒绝访问 发布:2025-05-16 19:32:57 浏览:118
阿里云服务器如何把c盘变成d盘 发布:2025-05-16 19:12:36 浏览:496
unix环境高级编程学习 发布:2025-05-16 19:11:49 浏览:421
如何将20的硝酸配置成5的 发布:2025-05-16 19:04:42 浏览:971
怎么给一个文件夹设置时间开锁 发布:2025-05-16 18:58:00 浏览:823