環信即時通訊在Android平臺的部署

官網

環信

下載SDK

創建一個工程

如果想要封裝性好一點,也可以在工程裏再創建一個環信的Library,然後將SDK裏的jar.so,都導入到工程

導入SDK

清單文件

下面是環信Library庫裏面的清單文件,包含了權限的設置、APPKEY的設置和服務的聲明等。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="……">

    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
    <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
    <uses-permission android:name="android.permission.BROADCAST_STICKY" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />


    <application
        android:allowBackup="true"
        android:label="@string/app_name"
        android:supportsRtl="true">

        <!-- 設置環信應用的AppKey -->
        <meta-data
            android:name="EASEMOB_APPKEY"
            android:value="你的APPKEY" />
        <!-- 聲明SDK所需的service SDK核心功能-->
        <service
            android:name="com.hyphenate.chat.EMChatService"
            android:exported="true" />
        <!-- 聲明SDK所需的receiver -->
        <receiver android:name="com.hyphenate.chat.EMMonitorReceiver">
            <intent-filter>
                <action android:name="android.intent.action.PACKAGE_REMOVED" />
                <data android:scheme="package" />
            </intent-filter>
            <!-- 可選filter -->
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.USER_PRESENT" />
            </intent-filter>
        </receiver>

    </application>

</manifest>

初始化

創建一個InitApplication類,繼承Application,用來初始化應用的一些信息。

在主工程的清單文件下聲明

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="……">

    <application
        android:name=".InitApplication"
        ……>
        ……
    </application>

</manifest>

初始化

package ……;

import android.app.Application;
import android.widget.Toast;

import com.hyphenate.chat.EMClient;
import com.hyphenate.chat.EMOptions;

/**
 * Created by kqw on 2016/8/22.
 * 初始化應用
 */
public class InitApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();

        EMOptions options = new EMOptions();
        // 默認添加好友時,是不需要驗證的,改成需要驗證
        options.setAcceptInvitationAlways(false);
        // 初始化
        EMClient.getInstance().init(this, options);
        // 在做打包混淆時,關閉debug模式,避免消耗不必要的資源
        EMClient.getInstance().setDebugMode(true);

        Toast.makeText(this, "已經初始化", Toast.LENGTH_SHORT).show();
    }
}

部署完成

發佈了198 篇原創文章 · 獲贊 281 · 訪問量 87萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章