为什么我的Android 9应用在模拟器上运行时,无法在重启后自动在电视屏幕上打开?

w1jd8yoj  于 2023-03-16  发布在  Android
关注(0)|答案(1)|浏览(125)

助理接收器.java

public class AssistantReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED))
            context.startActivity(context.getPackageManager().getLaunchIntentForPackage(context.getPackageName()));
    }

}

安卓清单.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android">

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/Theme.App">

        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

        <receiver
            android:name=".AssistantReceiver"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>

    </application>

</manifest>

当我重新启动Android 9模拟器时(它是电视屏幕),应用程序自动打开,因为接收器功能正常,然而,当我在真实的的Android 9电视屏幕上尝试相同时,当我关闭并再次打开屏幕时,应用程序并没有打开,这表明接收器可能不工作了。你能帮我了解一下造成这种差异的原因吗?有什么我可能错过的吗?

rxztt3cl

rxztt3cl1#

QUICKBOOT_POWERON动作添加到接收器:

<receiver
        android:name=".AssistantReceiver"
        android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <action android:name="android.intent.action.QUICKBOOT_POWERON" />
        </intent-filter>
    </receiver>

相关问题