【发布时间】:2018-09-17 23:32:22
【问题描述】:
为了更清楚,我指的是接收器,它对 android.intent.action.BOOT_COMPLETED 做出反应。
我已经成功测试了该接收器在具有 API 23 的物理设备中工作。
但是,另一方面,我什至无法在模拟器上运行它,目前,版本 22 和 24,它甚至看起来都没有到达接收器的 OnReceive,接收器是只是忽略了。
是不是模拟器的某些限制不允许启动这些类型的接收器?如果是这种情况,我至少可以假设即使在模拟器中不起作用它也会在物理设备上触发? (出于测试目的,我可以从其他地方启动接收器,所以只要该条件适用,它就不会太介意)。
也可能是声明接收器的方式在此版本上不起作用,这就是我声明接收器的方式:
<receiver
android:name="com.applications.-----.--------.NoCoverageAndSpaceFullReceiver"
android:label="StartMyServiceAtBootReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="android.net.conn.ACTION_TIMEZONE_CHANGED" />
<action android:name="android.net.conn.ACTION_TIME_CHANGED" />
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
我认为没有什么可以避免接收器工作,但以防万一,我把它放了。
PD:我已经将模拟器设置为冷启动,所以问题不在于。
【问题讨论】:
标签: android android-emulator receiver