在manifests中注册开机启动可以成功,但是在代码中注册开机启动不可以,这是为什么?


manifest 中:


 <receiver android:name=".BootCompleteReceiver">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED"/>
        </intent-filter>
    </receiver>

代码中:


 IntentFilter intentFilter;
BootCompleteReceiver bootCompleteReceiver;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    intentFilter = new IntentFilter();
    intentFilter.addAction("android.intent.action.BOOT_COMPLETED");
    bootCompleteReceiver = new BootCompleteReceiver();
    registerReceiver(bootCompleteReceiver,intentFilter);
}

都写了BootCompleteReceiver


 class BootCompleteReceiver extends BroadcastReceiver{

    @Override
    public void onReceive(Context context, Intent intent) {
        Toast.makeText(context,"hello world",Toast.LENGTH_SHORT).show();
    }
}

但是在manifest中可以实现开机toast,在代码中写的registerReceiver不能实现开机toast,这是为什么??

android-manifests Android android-开机启动

十六夜咲夜  11 years, 5 months ago

因为刚开机的时候你的代码还没有运行

G線上D瀉藥 answered 11 years, 5 months ago

Your Answer