写了这么一个程序: 代码中只包含一个BroadcastReceiver, 监听开机广播, 然后静态注册在AndroidManifest.
碰到这么一个问题: 上述Receiver死活不触发.
找到这么一个解释: 软件必须要运行一次才能接收到开机广播的,这是谷歌在android高版本推出的安全机制
官方是这么说的(详见http://developer.android.com/about/versions/android-3.1.html):
Starting from Android 3.1, the system's package manager keeps track of applications that are in a stopped state and provides a means of controlling their launch from background processes and other applications.
Applications are in a stopped state when they are first installed but are not yet launched and when they are manually stopped by the user (in Manage Applications).
The platform defines two new intent flags that let a sender specify whether the Intent should be allowed to activate components in stopped application.
§FLAG_INCLUDE_STOPPED_PACKAGES — Include intent filters of stopped applications in the list of potential targets to resolve against.
§FLAG_EXCLUDE_STOPPED_PACKAGES — Exclude intent filters of stopped applications from the list of potential targets.
Note that the system adds FLAG_EXCLUDE_STOPPED_PACKAGES to all broadcast intents.
总的来说, 就是自Android 3.1之后, 所有新安装但未被执行过的apk, 以及那些被用户强行停止的apk, 都会处于stopped状态.
这个状态下, apk中的广播接收器, 均处于未激活状态, 无法履行监听功能.
解决方案:
引入程序对其他apk的依赖, 即先依赖其他程序发送广播, 广播Intent中包含FLAG_INCLUDE_STOPPED_PACKAGES, 以激活该Receiver. 在不改变开机广播FLAG的前提下, 单apk实现"不经执行就监听开机广播"的功能, 暂时无解.
如果读者有较好的解决方案, 还望不吝赐教!
相关推荐
在Android操作系统的发展历程中,Android 3.1和3.2是两个重要的版本,主要针对平板电脑和平移设备进行了优化。这两个版本引入了一系列的新特性和改进,为开发者提供了更多的功能和用户界面设计的可能性。Google API...
随着Android 3.1的发布,相应的SDK工具也得到了升级,包括新的ADT(Android Development Tools)、AVD(Android Virtual Device)管理器以及调试工具等,帮助开发者更高效地进行开发工作。 将压缩包中的“android-...
ApkIDE3.1,作为一款强大的Apk安装包分析与反编译工具,是开发者、安全研究员以及对Android应用内部结构充满好奇的用户们的得力助手。它提供了直观的界面和丰富的功能,帮助用户深入解析Apk文件,理解并修改Android...
android_3.1.apk
在Android开发过程中,环境搭建...总的来说,快速搭建Android 3.1开发环境涉及JDK的安装、Android SDK的获取与配置、IDE的选择与项目设置,以及AVD的创建。熟悉这些步骤,你就能顺利地开始Android 3.1应用的开发之旅。
android sdk 3.1 android-sdk_r11-windows 只是个tool,sdk还要自己下载 手机开发平台 Google Android SDK 3.1 R11 Android eclipse插件安装: https://dl-ssl.google.com/Android/eclipse/ Android netBean插件安装:...
1.RVCT3.1的安装 2.RVCT3.1兼容ADS1.2
下载后直接放到安装目录下的 /lib/ 中,重启软件即可。 原创地址、更多汉化包、问题反馈、免积分下载:http://www.pingfangx.com/xx/translation
静默安装(Silent Installation)是指在没有用户交互的情况下自动完成软件安装的过程,常用于批量部署或者自动化环境中。本文将详细介绍如何进行WinPcap 3.1的静默安装配置,并提供所需的文件信息。 首先,理解...
7. **首次启动**:安装完成后,重启计算机,首次启动Windows 3.1,体验全新的图形用户界面。 Windows 3.1引入了许多创新,例如增强型的图形支持、多任务功能(尽管是合作式的)以及对多媒体的支持。它还预装了一些...
"Apk改之理3.1"是一款专用于修改安卓系统软件的工具,它提供了对APK文件的深度编辑和优化功能。APK是Android应用的主要格式,包含了应用程序的代码、资源、元数据等所有组成部分。通过这款工具,开发者或逆向工程师...
【Apk改之理3.1】是一款专用于Android应用(APK)修改与分析的工具,主要用于开发者和逆向工程爱好者对APK文件进行深入探究。版本3.1是该软件的一个更新版本,通常会包含性能优化、新功能添加或已知问题的修复。 在...
Eviews 3.1是该软件的一个较早版本,虽然现在最新的版本已经更新到更高,但某些用户可能因为特定的需求或者兼容性问题仍需使用这个经典版本。 在提供的压缩包文件中,我们可以看到以下文件: 1. **LAYOUT.BIN**:...
uni-app结合Android SDK,可以实现原生Android应用的功能,提升用户体验。 【SDK工具】 在Android-SDK@3.1.18.80859_20210610.zip中,SDK工具可能包括: 1. `adb`(Android Debug Bridge):用于设备通信,支持安装...
### Borland C++ 3.1的安装流程详解 #### 一、简介 Borland C++ 3.1是一款经典的C/C++编译器工具,由Borland公司在上世纪90年代推出,广泛应用于DOS环境下的软件开发。虽然现在已经有了更为先进的IDE和编译器,但...
《ACDSee 3.1 简体中文 绿色免安装版:经典图像管理与查看工具详解》 在IT领域,图像处理和管理软件是不可或缺的一部分,其中ACDSee作为一款历史悠久且广受欢迎的工具,一直以来都以其强大的功能和易用性深受用户...
### Android系统apk商城下载安装及安装认证源码分析 #### 一、引言 随着移动互联网的迅猛发展,Android作为全球最广泛使用的移动操作系统之一,其应用市场也日益壮大。对于开发者而言,深入理解Android应用的下载与...
Xamarin for Android 3.1.228 破解Android:复制mandroid.exe 到 %PROGRAMFILES(x86)%\MSBuild\Xamarin\Android 在cmd命令里切换到%PROGRAMFILES(x86)%\MSBuild\Xamarin\Android目录下运行以下命令进行注册: m...
BC3.1 是一款功能强大的软件,可能是编程工具、数据库管理系统或者操作系统的一部分,其安装过程对于初次使用者来说可能会有些复杂,但本安装指南将详细阐述每一步骤,确保用户能够轻松完成安装。 1. **系统需求**...