客服QQ功能

  • 直接调用QQ客户端的聊天功能,用一个输入客服QQ号就能直接用了

直接上效果图片

客服QQ

  • 页面布局,就一个文本框:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical">
    <TextView
        android:id="@+id/tv_custom"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="QQ客服"
        android:padding="15dp"
        android:gravity="center" />
</LinearLayout>
  • activity代码:
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private TextView tv_custom;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tv_custom = (TextView) findViewById(R.id.tv_custom);
        tv_custom.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (isSpecialApplInstalled(MainActivity.this,"com.tencent.mobileqq")) {
                    String url = "mqqwpa://im/chat?chat_type=wpa&uin=客服的QQ号";
                    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
                }else{
                    showToast(MainActivity.this,"检测到没有安装QQ哦!");
                }
            }
        });
    }

    private void showToast(MainActivity mainActivity, String s) {
        Toast.makeText(mainActivity,s,Toast.LENGTH_SHORT).show();
    }

    /**
     * 判断手机设备是否安装指定包名的apk应用程序
     *
     * @param context
     * @param packageName
     * @return
     */
    public boolean isSpecialApplInstalled(Context context, String packageName) {
        PackageManager packageManager = context.getPackageManager();
        try {
            packageManager.getPackageInfo(packageName, 0);
            return true;
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        return false;
    }
}

参考原文:http://blog.csdn.net/qq_26665903/article/details/52912743

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现JS客服聊天功能需要使用WebSocket。WebSocket是一种全双工通信协议,能够在浏览器和服务器之间建立持久的连接,实现实时的双向通信。 首先,在前端中,你需要引入WebSocket库,并在Vue组件中初始化WebSocket连接。你可以定义一个WebSocket的工具类,其中包含初始化WebSocket连接、发送消息、关闭连接等方法。 在Vue组件中,你可以通过调用工具类的方法来建立WebSocket连接、发送消息和关闭连接。你可以在点击按钮时触发建立连接的方法,发送消息时调用发送消息的方法,关闭连接时调用关闭连接的方法。 接收到服务器返回的消息后,你可以通过监听 computed 属性 getSocketMsg 来实时获取接收到的消息。可以在 watch 中监听 getSocketMsg 属性的变化,一旦有新的消息接收到,就会触发相应的处理函数。 为了方便聊天框的展示,你可以在 methods 中定义处理聊天框关闭事件的方法,通过调用 WebSocket 的关闭连接方法来关闭连接。 在Vuex中,你可以定义一个全局的状态变量来存储接收到的消息。在 mutations 中修改这个状态变量的值,以便在Vue组件中使用。 总结起来,实现JS客服聊天功能的步骤包括: 1. 引入WebSocket库并初始化WebSocket连接。 2. 在Vue组件中调用WebSocket相关的方法,建立连接、发送消息和关闭连接。 3. 监听接收到的消息,并根据需要进行处理。 4. 在Vuex中定义全局状态变量来存储接收到的消息,并通过 mutations 修改其值。 5. 在Vue组件中展示接收到的消息。 以上是实现JS客服聊天功能的基本步骤,具体的实现细节可以根据自己的需求和框架进行调整和扩展。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [vue websocket 实现客服聊天功能(基础实现)](https://blog.csdn.net/qq_46566911/article/details/120626044)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值