5.1 初始化SDK
初始化需要在您自定义的 Application 中执行,示例如下:
public class MyApplication extends Application {
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
if (isMainProcess()) { // 判断为主进程,在主进程中初始化,多进程同时初始化可能导致不可预料的后果
Logger.w("MyApplication", "onCreate isMainProcess V5ClientAgent.init");
V5ClientConfig.FILE_PROVIDER = "你的应用包名.fileprovider"; // 设置fileprovider的authorities
V5ClientAgent.init(this, "<站点编号>", "<APP ID>", new V5InitCallback() {
@Override
public void onSuccess(String response) {
// TODO Auto-generated method stub
Logger.i("MyApplication", "V5ClientAgent.init(): " + response);
}
@Override
public void onFailure(String response) {
// TODO Auto-generated method stub
Logger.e("MyApplication", "V5ClientAgent.init(): " + response);
}
});
}
}
public boolean isMainProcess() {
ActivityManager am = ((ActivityManager) getSystemService(Context.ACTIVITY_SERVICE));
List<RunningAppProcessInfo> processInfos = am.getRunningAppProcesses();
String mainProcessName = getPackageName();
int myPid = android.os.Process.myPid();
for (RunningAppProcessInfo info : processInfos) {
if (info.pid == myPid && mainProcessName.equals(info.processName)) {
return true;
}
}
return false;
}
}
其中 <站点编号>
和 <APP ID>
分别是从 V5 后台可以获取到的 站点编号 和 AppID。