Java Android:应用程序未接收到启动完成
我正在开发一个相对简单的应用程序,当调用意图时,它会记录一条消息。但是,应用程序从未收到任何意图,显式.ACTION\u SILENT\u START或隐式android.intent.ACTION.BOOT\u COMPLETED AndroidManifest.xml: com..ade.kaiga.BootReceiver:Java Android:应用程序未接收到启动完成,java,android,android-intent,Java,Android,Android Intent,我正在开发一个相对简单的应用程序,当调用意图时,它会记录一条消息。但是,应用程序从未收到任何意图,显式.ACTION\u SILENT\u START或隐式android.intent.ACTION.BOOT\u COMPLETED AndroidManifest.xml: com..ade.kaiga.BootReceiver: 您在两个位置具有接收启动完成权限。您希望它位于uses权限元素中。但我认为您不希望它出现在接收方的权限属性中: android:permission="android
您在两个位置具有接收启动完成权限。您希望它位于uses权限元素中。但我认为您不希望它出现在接收方的权限属性中:
android:permission="android.permission.RECEIVE_BOOT_COMPLETED"
通过在那里具有该属性,您是说意图的广播者必须持有许可。这可能真的会限制你的接收者何时得到意图
删除权限后,它仍然不会执行log语句。我唯一建议的另一件事是从您的意图过滤器中删除类别。如果这不起作用,请删除额外的操作,一次让一个操作起作用。看看哪种行为会导致事情破裂。我一直使用BOOT_完成,您的代码看起来非常典型。但我通常不会将所有这些动作合并到一个接收器中。
package com.<snip>.ade.kaiga;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class BootReceiver extends BroadcastReceiver {
private static final String TAG = "KaigaBootReceiver";
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG, "BOOOTTOTOTOTOTOTOTOT");
BootService.enqueueWork(context, new Intent());
}
}
android:permission="android.permission.RECEIVE_BOOT_COMPLETED"