<application
android:allowBackup="true"
android:label="@string/app_name"
android:supportsRtl="true" >
<activity android:name="com.zmf.feiying.unityandroidlibrary.MainActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data
android:name="unityplayer.UnityActivity"
android:value="true" />
</activity>
<receiver
android:name="com.zmf.feiying.unityandroidlibrary.StartBootComplete"
android:enabled="true"
android:exported="true"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter android:priority="1000" >
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
</application>
private final String ACTION_BOOT = "android.intent.action.BOOT_COMPLETED";
@Override
public void onReceive (Context context, Intent intent) {
if (ACTION_BOOT.equals(intent.getAction())) {
Intent intentMainActivity = new Intent(context, MainActivity.class);
intentMainActivity.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intentMainActivity);
}
}
}
代码都写好了,就是放在手机上不好用,我手机是华为 android9.0的
华为EMUI会默认管理APP自启动,先在手机管家->启动管理里把你的APP由自动管理改为手动,并把允许自启动开启,再试试
AndroidManifest中增加权限声明,然后receiver中加log输出,再查看logcat的输出,看看是哪里的问题。
debug就是多处排查嘛
缺少权限吧 , 而且自己写一个静态注册广播接收器试试
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />