启动接收器不在仿真器中工作

问题描述 投票:1回答:1

为了更清楚,我指的是对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
1个回答
1
投票

如果您没有冷启动模拟器,您也应该添加以下操作。

<action android:name="android.intent.action.QUICKBOOT_POWERON" />
© www.soinside.com 2019 - 2024. All rights reserved.