Java源码示例:com.hyphenate.EMCallBack
示例1
private void logout(){
OkhttpUtil.logout(handler);
//此方法为异步方法
EMClient.getInstance().logout(true, new EMCallBack() {
@Override
public void onSuccess() {
// TODO Auto-generated method stub
}
@Override
public void onProgress(int progress, String status) {
// TODO Auto-generated method stub
}
@Override
public void onError(int code, String message) {
// TODO Auto-generated method stub
}
});
}
示例2
private void logoutIMService(){
//此方法为异步方法
EMClient.getInstance().logout(true, new EMCallBack() {
@Override
public void onSuccess() {
// TODO Auto-generated method stub
Log.d("SocialMainActivity", "成功退出环信服务器");
}
@Override
public void onProgress(int progress, String status) {
// TODO Auto-generated method stub
}
@Override
public void onError(int code, String message) {
// TODO Auto-generated method stub
Log.d("SocialMainActivity", "还没退出环信服务器");
}
});
}
示例3
private void logout(){
OkhttpUtil.logout(handler);
//此方法为异步方法
EMClient.getInstance().logout(true, new EMCallBack() {
@Override
public void onSuccess() {
// TODO Auto-generated method stub
}
@Override
public void onProgress(int progress, String status) {
// TODO Auto-generated method stub
}
@Override
public void onError(int code, String message) {
// TODO Auto-generated method stub
}
});
}
示例4
private void logoutIMService(){
//此方法为异步方法
EMClient.getInstance().logout(true, new EMCallBack() {
@Override
public void onSuccess() {
// TODO Auto-generated method stub
Log.d("SocialActivity", "成功退出环信服务器");
}
@Override
public void onProgress(int progress, String status) {
// TODO Auto-generated method stub
}
@Override
public void onError(int code, String message) {
// TODO Auto-generated method stub
Log.d("SocialActivity", "还没退出环信服务器");
}
});
}
示例5
private void loginHuanxinAndJpush(){
//登录环信
//登录app服务器成功后登录环信服务器
EMClient.getInstance().login(SharedPreferenceUtil.getUserName(), SharedPreferenceUtil.getPassword(), new EMCallBack() {//回调
@Override
public void onSuccess() {
new Thread(new Runnable() {
@Override
public void run() {
EMClient.getInstance().groupManager().loadAllGroups();
EMClient.getInstance().chatManager().loadAllConversations();
Log.d(TAG, "登陆聊天服务器成功!");
}
}).start();
}
@Override
public void onProgress(int progress, String status) {
}
@Override
public void onError(int code, String message) {
Log.d(TAG, "登陆聊天服务器失败!\n" + message);
}
});
JPushInterface.setAlias(this, SharedPreferenceUtil.getUserName(), new TagAliasCallback() {
@Override
public void gotResult(int i, String s, Set<String> set) {
}
});
}
示例6
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Button logoutButton = (Button) getView().findViewById(R.id.btn_logout);
logoutButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
EMClient.getInstance().logout(false, new EMCallBack() {
@Override
public void onSuccess() {
getActivity().finish();
startActivity(new Intent(getActivity(), LoginActivity.class));
}
@Override
public void onProgress(int progress, String status) {
}
@Override
public void onError(int code, String error) {
}
});
}
});
}
示例7
/**
* 退出登录
*
* @param unbindDeviceToken
* 是否解绑设备token(使用GCM才有)
* @param callback
* callback
*/
public void logout(boolean unbindDeviceToken, final EMCallBack callback) {
Log.d(TAG, "logout: " + unbindDeviceToken);
EMClient.getInstance().logout(unbindDeviceToken, new EMCallBack() {
@Override
public void onSuccess() {
Log.d(TAG, "logout: onSuccess");
reset();
if (callback != null) {
callback.onSuccess();
}
}
@Override
public void onProgress(int progress, String status) {
if (callback != null) {
callback.onProgress(progress, status);
}
}
@Override
public void onError(int code, String error) {
Log.d(TAG, "logout: onSuccess");
reset();
if (callback != null) {
callback.onError(code, error);
}
}
});
}
示例8
private static void rightAfterLogOn(){
SeriesLogOnInfo.putInfo(MyApp.getInstance().getApplicationContext(), MyApp.userInfo.username, MyApp.userInfo.userpassword);
EMClient.getInstance().login(MyApp.userInfo.userId,SHA1(MyApp.userInfo.userpassword) ,new EMCallBack() {//回调
@Override
public void onSuccess() {
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run() {
EMClient.getInstance().groupManager().loadAllGroups();
EMClient.getInstance().chatManager().loadAllConversations();
Log.d("main", "登陆聊天服务器成功!");
}
});
}
@Override
public void onProgress(int progress, String status) {
}
@Override
public void onError(int code, String message) {
Log.d("main", "登陆聊天服务器失败!");
}
});
MobclickAgent.onProfileSignIn(MyApp.userInfo.userId);
NoteController.iniCloudSyncTask();
ServiceFactory.getAccountService().getAllNote(AuthBody.getAuthBodyMap())
.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
.subscribe(new Action1<AuthorBean>() {
@Override
public void call(AuthorBean authorBean) {
MyApp.getInstance().authorBean.author = authorBean.author;
}
}, new Action1<Throwable>() {
@Override
public void call(Throwable throwable) {
}
});
}
示例9
/**
* 手动登录环信的方法
*
* @param phone 手机号
* @param pwd 密码
* @param callBack 回调
*/
public void login(final String phone, final String pwd, final FCCallBack callBack)
{
EMClient.getInstance().login(phone, pwd, new EMCallBack()
{
@Override
public void onSuccess()
{
KLog.i("HxSdk login from server success");
loadHxLocalData();
if (callBack != null)
callBack.onSuccess(null);
}
@Override
public void onError(int code, String msg)
{
KLog.e("HxSdk login fail : hxErrCode = " + code + " , msg = " + msg);
if (callBack != null)
callBack.onFail(FCError.LOGIN_FAIL, FCError.getErrorMsgIdFromCode(code));
}
@Override
public void onProgress(int progress, String status)
{
}
});
}
示例10
private void handleLogin(Context context, String result, String pwd) {
Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();
Type type = new TypeToken<Response<User>>() {}.getType();
Response<User> root = gson.fromJson(result,type);
if (root == null){
mViewRef.get().showErrorMessageToast(root.getMessage());
return;
}
if (!root.isSuccess()){
mViewRef.get().showTipsDialog(root.getMessage());
return ;
}
mViewRef.get().loginSuccess();
//登录成功后为每个用户设置别名:username
User user = root.getData();
JPushInterface.setAlias(context, root.getData().getUsername(), new TagAliasCallback() {
@Override
public void gotResult(int i, String s, Set<String> set) {
Log.d("JPush", i + "");
}
});
//登录app服务器成功后登录环信服务器
EMClient.getInstance().login(user.getUsername(), pwd, new EMCallBack() {//回调
@Override
public void onSuccess() {
new Thread(new Runnable() {
@Override
public void run() {
EMClient.getInstance().groupManager().loadAllGroups();
EMClient.getInstance().chatManager().loadAllConversations();
Log.d("LoninFragment", "登陆聊天服务器成功!");
}
}).start();
}
@Override
public void onProgress(int progress, String status) {
}
@Override
public void onError(int code, String message) {
Log.d("LoninFragment", "登陆聊天服务器失败!");
}
});
SharedPreferenceUtil.setUserId(user.getId());
SharedPreferenceUtil.setUsername(user.getUsername());
SharedPreferenceUtil.setNickname(user.getNickname());
SharedPreferenceUtil.setPassword(pwd);
SharedPreferenceUtil.setHeadpath(user.getUser_head_path());
SharedPreferenceUtil.setSignature(user.getSignature());
SharedPreferenceUtil.setState("1");
SharedPreferenceUtil.setSessionId(root.getSession_id());
SharedPreferenceUtil.setCity(user.getCity());
SharedPreferenceUtil.setSex(user.getSex());
SharedPreferenceUtil.setPhone(user.getPhone());
SharedPreferenceUtil.setEmail(user.getEmail());
SharedPreferenceUtil.setAge(user.getAge());
SharedPreferenceUtil.setOccupation(user.getOccupation());
SharedPreferenceUtil.setConstellation(user.getConstellation());
SharedPreferenceUtil.setHihgt(user.getHight());
SharedPreferenceUtil.setWeight(user.getWeight());
SharedPreferenceUtil.setFigure(user.getFigure());
SharedPreferenceUtil.setEmotion(user.getEmotion());
SharedPreferenceUtil.setVip(user.getIs_vip() + "");
SharedPreferenceUtil.setRecommend(user.getIs_recommended() + "");
SharedPreferenceUtil.setAutoReaction(user.getAutoreaction());
SharedPreferenceUtil.setOnlineState(user.getOnlinestate());
SharedPreferenceUtil.setOpenid(user.getQq_open_id());
}
示例11
@Override
public int onStartCommand(final Intent intent, int flags, int startId) {
//每隔一分钟自动登录一次
Intent intentLocationService =new Intent(LongConnectionService.this,BDLocationService.class);
startService(intentLocationService);
count++;
//Toast.makeText(this,"每隔1分钟登录一次\n已登录" + count + "次.",Toast.LENGTH_LONG).show();
Log.d(TAG,"每隔1分钟登录一次\n已登录" + count + "次.");
//Log.d("StartService", "登陆聊天服务器成功!");
if (SharedPreferenceUtil.getUserName()!=null && SharedPreferenceUtil.getPassword()!=null){
if (!SharedPreferenceUtil.getUserName().equals("") && !SharedPreferenceUtil.getPassword().equals("")){
//登录环信
//登录app服务器成功后登录环信服务器
EMClient.getInstance().login(SharedPreferenceUtil.getUserName(), SharedPreferenceUtil.getPassword(), new EMCallBack() {//回调
@Override
public void onSuccess() {
new Thread(new Runnable() {
@Override
public void run() {
EMClient.getInstance().groupManager().loadAllGroups();
EMClient.getInstance().chatManager().loadAllConversations();
Log.d(TAG, "登陆聊天服务器成功!");
}
}).start();
}
@Override
public void onProgress(int progress, String status) {
}
@Override
public void onError(int code, String message) {
Log.d(TAG, "登陆聊天服务器失败!\n" + message);
}
});
}
}
handler = new Handler(){
@Override
public void handleMessage(Message msg) {
switch (msg.what){
case OkhttpUtil.MESSAGE_POLL_SERVICE:
handlePollService(msg);
break;
}
}
};
OkhttpUtil.pollServive(handler);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
int ten_min = 60*1000*1;//1分钟;
//int ten_min = 30*1000;
long triggerAtTime = SystemClock.elapsedRealtime() + ten_min;
Intent i = new Intent(this,LongConnectionAlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this,0,i,0);
alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP,triggerAtTime,pendingIntent);
flags = START_STICKY;
return super.onStartCommand(intent, flags, startId);
}
示例12
/**
* 下载图片
*
* @param remoteFilePath
*/
private void downloadImage(final String remoteFilePath, final Map<String, String> headers) {
String str1 = getResources().getString(R.string.Download_the_pictures);
pd = new ProgressDialog(this);
pd.setProgressStyle(ProgressDialog.STYLE_SPINNER);
pd.setCanceledOnTouchOutside(false);
pd.setMessage(str1);
pd.show();
File temp = new File(localFilePath);
final String tempPath = temp.getParent() + "/temp_" + temp.getName();
final EMCallBack callback = new EMCallBack() {
public void onSuccess() {
runOnUiThread(new Runnable() {
@Override
public void run() {
new File(tempPath).renameTo(new File(localFilePath));
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int screenWidth = metrics.widthPixels;
int screenHeight = metrics.heightPixels;
bitmap = ImageUtils.decodeScaleImage(localFilePath, screenWidth, screenHeight);
if (bitmap == null) {
image.setImageResource(default_res);
} else {
image.setImageBitmap(bitmap);
EaseImageCache.getInstance().put(localFilePath, bitmap);
isDownloaded = true;
}
if (EaseShowBigImageActivity.this.isFinishing() || EaseShowBigImageActivity.this.isDestroyed()) {
return;
}
if (pd != null) {
pd.dismiss();
}
}
});
}
public void onError(int error, String msg) {
EMLog.e(TAG, "offline file transfer error:" + msg);
File file = new File(tempPath);
if (file.exists()&&file.isFile()) {
file.delete();
}
runOnUiThread(new Runnable() {
@Override
public void run() {
if (EaseShowBigImageActivity.this.isFinishing() || EaseShowBigImageActivity.this.isDestroyed()) {
return;
}
image.setImageResource(default_res);
pd.dismiss();
}
});
}
public void onProgress(final int progress, String status) {
EMLog.d(TAG, "Progress: " + progress);
final String str2 = getResources().getString(R.string.Download_the_pictures_new);
runOnUiThread(new Runnable() {
@Override
public void run() {
if (EaseShowBigImageActivity.this.isFinishing() || EaseShowBigImageActivity.this.isDestroyed()) {
return;
}
pd.setMessage(str2 + progress + "%");
}
});
}
};
EMClient.getInstance().chatManager().downloadFile(remoteFilePath, tempPath, headers, callback);
}
示例13
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ease_activity_show_file);
progressBar = (ProgressBar) findViewById(R.id.progressBar);
final EMFileMessageBody messageBody = getIntent().getParcelableExtra("msgbody");
file = new File(messageBody.getLocalUrl());
//set head map
final Map<String, String> maps = new HashMap<String, String>();
if (!TextUtils.isEmpty(messageBody.getSecret())) {
maps.put("share-secret", messageBody.getSecret());
}
//下载文件
EMClient.getInstance().chatManager().downloadFile(messageBody.getRemoteUrl(), messageBody.getLocalUrl(), maps,
new EMCallBack() {
@Override
public void onSuccess() {
runOnUiThread(new Runnable() {
public void run() {
FileUtils.openFile(file, EaseShowNormalFileActivity.this);
finish();
}
});
}
@Override
public void onProgress(final int progress,String status) {
runOnUiThread(new Runnable() {
public void run() {
progressBar.setProgress(progress);
}
});
}
@Override
public void onError(int error, final String msg) {
runOnUiThread(new Runnable() {
public void run() {
if(file != null && file.exists()&&file.isFile())
file.delete();
String str4 = getResources().getString(R.string.Failed_to_download_file);
Toast.makeText(EaseShowNormalFileActivity.this, str4+msg, Toast.LENGTH_SHORT).show();
finish();
}
});
}
});
}
示例14
/**
* 下载视频文件
*/
private void downloadVideo(final String remoteUrl,
final Map<String, String> header) {
if (TextUtils.isEmpty(localFilePath)) {
localFilePath = getLocalFilePath(remoteUrl);
}
if (new File(localFilePath).exists()) {
showLocalVideo(localFilePath);
return;
}
loadingLayout.setVisibility(View.VISIBLE);
EMCallBack callback = new EMCallBack() {
@Override
public void onSuccess() {
runOnUiThread(new Runnable() {
@Override
public void run() {
loadingLayout.setVisibility(View.GONE);
progressBar.setProgress(0);
showLocalVideo(localFilePath);
}
});
}
@Override
public void onProgress(final int progress,String status) {
Log.d("ease", "video progress:" + progress);
runOnUiThread(new Runnable() {
@Override
public void run() {
progressBar.setProgress(progress);
}
});
}
@Override
public void onError(int error, String msg) {
Log.e("###", "offline file transfer error:" + msg);
File file = new File(localFilePath);
if (file.exists()) {
file.delete();
}
}
};
EMClient.getInstance().chatManager().downloadFile(remoteUrl, localFilePath, header, callback);
}
示例15
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ease_activity_show_file);
progressBar = (ProgressBar) findViewById(R.id.progressBar);
final EMFileMessageBody messageBody = getIntent().getParcelableExtra("msgbody");
file = new File(messageBody.getLocalUrl());
//set head map
final Map<String, String> maps = new HashMap<String, String>();
if (!TextUtils.isEmpty(messageBody.getSecret())) {
maps.put("share-secret", messageBody.getSecret());
}
//download file
EMClient.getInstance().chatManager().downloadFile(messageBody.getRemoteUrl(), messageBody.getLocalUrl(), maps,
new EMCallBack() {
@Override
public void onSuccess() {
runOnUiThread(new Runnable() {
public void run() {
FileUtils.openFile(file, EaseShowNormalFileActivity.this);
finish();
}
});
}
@Override
public void onProgress(final int progress,String status) {
runOnUiThread(new Runnable() {
public void run() {
progressBar.setProgress(progress);
}
});
}
@Override
public void onError(int error, final String msg) {
runOnUiThread(new Runnable() {
public void run() {
if(file != null && file.exists()&&file.isFile())
file.delete();
String str4 = getResources().getString(R.string.Failed_to_download_file);
Toast.makeText(EaseShowNormalFileActivity.this, str4+msg, Toast.LENGTH_SHORT).show();
finish();
}
});
}
});
}
示例16
/**
* download video file
*/
private void downloadVideo(final String remoteUrl,
final Map<String, String> header) {
if (TextUtils.isEmpty(localFilePath)) {
localFilePath = getLocalFilePath(remoteUrl);
}
if (new File(localFilePath).exists()) {
showLocalVideo(localFilePath);
return;
}
loadingLayout.setVisibility(View.VISIBLE);
EMCallBack callback = new EMCallBack() {
@Override
public void onSuccess() {
runOnUiThread(new Runnable() {
@Override
public void run() {
loadingLayout.setVisibility(View.GONE);
progressBar.setProgress(0);
showLocalVideo(localFilePath);
}
});
}
@Override
public void onProgress(final int progress,String status) {
Log.d("ease", "video progress:" + progress);
runOnUiThread(new Runnable() {
@Override
public void run() {
progressBar.setProgress(progress);
}
});
}
@Override
public void onError(int error, String msg) {
Log.e("###", "offline file transfer error:" + msg);
File file = new File(localFilePath);
if (file.exists()) {
file.delete();
}
}
};
EMClient.getInstance().chatManager().downloadFile(remoteUrl, localFilePath, header, callback);
}
示例17
@Override
protected void onCreate(Bundle arg0) {
super.onCreate(arg0);
if(EMClient.getInstance().isLoggedInBefore()){
//enter to main activity directly if you logged in before.
startActivity(new Intent(this, MainActivity.class));
finish();
}
setContentView(R.layout.activity_login);
usernameView = (EditText) findViewById(R.id.et_username);
pwdView = (EditText) findViewById(R.id.et_password);
Button loginBtn = (Button) findViewById(R.id.btn_login);
loginBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//login
EMClient.getInstance().login(usernameView.getText().toString(), pwdView.getText().toString(), new EMCallBack() {
@Override
public void onSuccess() {
startActivity(new Intent(LoginActivity.this, MainActivity.class));
finish();
}
@Override
public void onProgress(int progress, String status) {
}
@Override
public void onError(int code, String error) {
runOnUiThread(new Runnable() {
public void run() {
Toast.makeText(getApplicationContext(), "login failed", 0).show();
}
});
}
});
}
});
}