大海话语 2022-01-08 21:39 采纳率: 87.6%
浏览 34
已结题

是否可以Activity类中,登录后,发送广播?

我想在一个登录的界面,用户登录后,改变其它类或者是界面的一些TextView文字的显示哈。
但是,我用了广播却不行,因为登录LoginAc类是extends了AppCompatActivity,所以,不能用上继承广播的了,如果这个登录LoginAc类不做finish()的话, 只做跳转到上一层的话, 会点击返回键,会再返回到登录界面,最后,再退出登录界面,到上一层的。不知道 该 怎么做呢?。。

我之前 用过

Toast.makeText(LoginAc.this, "登录成功!", Toast.LENGTH_SHORT).show();
                        //广播发送用户名
                        Intent intent = new Intent();
                        intent.setAction(ACTION_LOGIN_SUCCESS);
                        intent.putExtra(EXTRA_USER_NAME, userNum);
                        intent.putExtra(USER_ID,userId);
                        intent.putExtra(EXTRA_SATURN_NUM, saturnNum);
                        intent.putExtra(EXTRA_AVATAR,avatar);
                        intent.putExtra(EXTRA_PHONE_NAME,phoneNum);
                        intent.putExtra(EXTRA_MY_LOCATION,myLocation);
                        intent.putExtra(EXTRA_TOKEN, token);
                        sendBroadcast(intent);

                        // 如果登录成功
                        setResult(Activity.RESULT_OK);
                        finish();

但,好像不对。。
下面是接收的地方

    //广播接收者
    private BroadcastReceiver receiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
//            onRefresh(intent);//多个业务的用这个
            //通过广播得到数据  只有一个操作的用这个
            String saturnName = intent.getStringExtra(LoginAc.EXTRA_SATURN_NUM);
            if(saturnName != null){
                tuzhu_saturn_num = getActivity().findViewById(R.id.tuzhu_saturn_num);
                tuzhu_saturn_num.setText(saturnName);//设置土星号
            }

        }
    };

  • 写回答

4条回答 默认 最新

  • pumpkin的玄学 2022-01-08 22:59
    关注

    eventbus
    推荐使用 了解一下 很简单的 事件总线

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 1月17日
  • 已采纳回答 1月9日
  • 创建了问题 1月8日

悬赏问题

  • ¥100 求数学坐标画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站