Android Studio -使用腾讯即时通信
admin
2024-03-25 15:36:13
0

使用腾讯即时通信

  • 记录
    • 在引入的腾讯第三方插件中自定义弹窗
      • 解决思路

记录

在引入的腾讯第三方插件中自定义弹窗

如题,因为项目中引入了腾讯即时通信模块,但主要的功能都在app模块中,应用平台审核需要腾讯即时通信的模块中也要有举报的功能,然而用户的信息之类的基本都存在了app主模块中,因此需要做一个桥接

解决思路

1先完成两个模块之间的通信
我用的是网友推荐的appjoint
可参考

https://blog.csdn.net/qq_23018457/article/details/110469916

很简单,一遍就过了,在对应的build.gradle添加这个模块即可
然后写一个接口类,一个实现类,在app主模块中实现接口,在需要调用的副模块中通过反射调用接口中的方法即可
2如何自定义
项目中已经有activity的管理类了,不过没有对腾讯即时通信的activity进行添加,所以还需要在对应的activity(我这里的是chatactivity)中添加activty管理类的popactivity这个方法,记录当前所在的activity(在chatactivity中记得要添加一个外界可以访问当前activity的context的方法)
然后在activity管理类中调用currentactivity这个方法获得chatactivity,然后获得他的context,在这个context上添加dialog,以及里面一些对应的信息即可完成,时间关系就贴一下简单的代码吧
这是在app中实现接口类的实现类


@ServiceProvider
public class AppPublicInterface implements MyPublicInterface {@Overridepublic void showJubakInfo(int type, String userTId, Object data) {//这里要获得消息的内容和消息的发出者的id//需要弹出一个确定框,让用户确认举报信息是否正确ChatActivity currentActivity = (ChatActivity) ActivityManager.getInstance().currentActivity();AlertDialog.Builder builder = new AlertDialog.Builder(currentActivity.getContext());builder.setTitle("举报");final EditText edit = new EditText(currentActivity.getContext());builder.setView(edit);if (type == 0) {edit.setText("举报人: " + UserInfoInstance.getInstance().getRealName() + "\n举报内容: " + data.toString());} else if (type == 32) {edit.setText("举报人: " + UserInfoInstance.getInstance().getRealName() + "\n您举报的内容为图片,请耐心等待审核结果");}else{edit.setText("举报人: " + UserInfoInstance.getInstance().getRealName() + "\n您举报的内容为未知内容,请耐心等待审核结果");}edit.setFocusable(false);edit.setEnabled(false);edit.setTextAlignment(TEXT_ALIGNMENT_CENTER);builder.setPositiveButton("提交", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {ReportPresenter tem = new ReportPresenter();tem.report(userTId, data.toString());}});builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {}});builder.setCancelable(true);    //设置按钮是否可以按返回键取消,false则不可以取消AlertDialog dialog = builder.create();  //创建对话框dialog.setCanceledOnTouchOutside(true); //设置弹出框失去焦点是否隐藏,即点击屏蔽其它地方是否隐藏dialog.show();}
}

相关内容

热门资讯

【MySQL】锁 锁 文章目录锁全局锁表级锁表锁元数据锁(MDL)意向锁AUTO-INC锁...
【内网安全】 隧道搭建穿透上线... 文章目录内网穿透-Ngrok-入门-上线1、服务端配置:2、客户端连接服务端ÿ...
GCN的几种模型复现笔记 引言 本篇笔记紧接上文,主要是上一篇看写了快2w字,再去接入代码感觉有点...
数据分页展示逻辑 import java.util.Arrays;import java.util.List;impo...
Redis为什么选择单线程?R... 目录专栏导读一、Redis版本迭代二、Redis4.0之前为什么一直采用单线程?三、R...
【已解决】ERROR: Cou... 正确指令: pip install pyyaml
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
Lock 接口解读 前置知识点Synchronized synchronized 是 Java 中的关键字,...
Win7 专业版安装中文包、汉... 参考资料:http://www.metsky.com/archives/350.htm...
3 ROS1通讯编程提高(1) 3 ROS1通讯编程提高3.1 使用VS Code编译ROS13.1.1 VS Code的安装和配置...
大模型未来趋势 大模型是人工智能领域的重要发展趋势之一,未来有着广阔的应用前景和发展空间。以下是大模型未来的趋势和展...
python实战应用讲解-【n... 目录 如何在Python中计算残余的平方和 方法1:使用其Base公式 方法2:使用statsmod...
学习u-boot 需要了解的m... 一、常用函数 1. origin 函数 origin 函数的返回值就是变量来源。使用格式如下...
常用python爬虫库介绍与简... 通用 urllib -网络库(stdlib)。 requests -网络库。 grab – 网络库&...
药品批准文号查询|药融云-中国... 药品批文是国家食品药品监督管理局(NMPA)对药品的审评和批准的证明文件...
【2023-03-22】SRS... 【2023-03-22】SRS推流搭配FFmpeg实现目标检测 说明: 外侧测试使用SRS播放器测...
有限元三角形单元的等效节点力 文章目录前言一、重新复习一下有限元三角形单元的理论1、三角形单元的形函数(Nÿ...
初级算法-哈希表 主要记录算法和数据结构学习笔记,新的一年更上一层楼! 初级算法-哈希表...
进程间通信【Linux】 1. 进程间通信 1.1 什么是进程间通信 在 Linux 系统中,进程间通信...
【Docker】P3 Dock... Docker数据卷、宿主机与挂载数据卷的概念及作用挂载宿主机配置数据卷挂载操作示例一个容器挂载多个目...