【问题标题】:Startup receiver not working in the emulator启动接收器在模拟器中不起作用
【发布时间】: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


    【解决方案1】:

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

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

    【讨论】:

    • 好的,我查一下,
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 2021-04-29
    • 2020-12-15
    • 1970-01-01
    • 1970-01-01
    • 2017-01-19
    相关资源
    最近更新 更多