Android 11 广播教程没有反应

在学习Android开发时遇到广播接收器无法响应的问题,尤其是在Android 11上。通过研究发现,从Android 8.0开始,Intent需要设置组件,并且接收器需要设置enable和export属性。添加这些配置后,广播接收器能够成功接收到意图。本文将分享解决这个问题的完整代码和步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近学习了下Android开发,方便以后和Unity app互相调用
跟着教程学到广播这卡了半天,有意图发出但是接收器接收不到.除了8.0以后intent要加setcomponent以外,注册接收器时还要写配置enable和export,至于为什么还不清楚,但是用AS自动生成的接收器带这两句,在自己写的接收器里写上这两句也可以接收到意图了.
下面放完整代码.
MainActivity:

package com.runoob.broadcastreceiver;

import androidx.appcompat.app.AppCompatActivity;

import android.content.ComponentName;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;

public class MainActivity extends AppCompatActivity {
   
    String TAG = "666";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
   
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
   
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    //广播自定义意图
    public void broadcastIntent(View view){
   
        Log.i(TAG, "broadcastIntent: enter method");
        Intent intent = 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值