
com.yy.httpproxy.thirdparty.HuaweiCallback Maven / Gradle / Ivy
package com.yy.httpproxy.thirdparty;
import android.content.Context;
import com.huawei.hms.api.ConnectionResult;
import com.huawei.hms.api.HuaweiApiClient;
import com.huawei.hms.support.api.client.PendingResult;
import com.huawei.hms.support.api.client.ResultCallback;
import com.huawei.hms.support.api.push.HuaweiPush;
import com.huawei.hms.support.api.push.TokenResult;
import com.yy.httpproxy.util.Log;
/**
* Created by Administrator on 2016/4/29.
*/
public class HuaweiCallback implements HuaweiApiClient.ConnectionCallbacks, HuaweiApiClient.OnConnectionFailedListener {
public final static String TAG = "HuaweiProvider";
private HuaweiApiClient client;
public HuaweiCallback(Context context) {
Log.i("HuaweiProvider", "init");
client = new HuaweiApiClient.Builder(context)
.addApi(HuaweiPush.PUSH_API)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
client.connect();
}
private void getTokenAsync() {
if (!client.isConnected()) {
Log.i(TAG, "获取token失败,原因:HuaweiApiClient未连接");
client.connect();
return;
}
Log.i(TAG, "异步接口获取push token");
PendingResult tokenResult = HuaweiPush.HuaweiPushApi.getToken(client);
tokenResult.setResultCallback(new ResultCallback() {
@Override
public void onResult(TokenResult result) {
Log.i(TAG, "TokenResult " + result.getTokenRes().getToken());
}
});
}
@Override
public void onConnected() {
getTokenAsync();
}
@Override
public void onConnectionSuspended(int i) {
Log.e(TAG, "onConnectionSuspended " + i);
}
@Override
public void onConnectionFailed(ConnectionResult connectionResult) {
Log.e(TAG, "onConnectionFailed " + connectionResult.getErrorCode());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy