admin管理员组

文章数量:1540498

快速开始

1) 预备步骤

去 dev.xiaomi 中创建应用。步骤如下:登陆小米开放平台网页 -> ”管理控制台” -> ”手机及平板应用” -> ”创建应用” -> 填入应用名和包名 -> ”创建” -> 记下看到的AppID -> 页面下方找”帐号接入服务“ -> ”详情“ -> ”立即启用“ -> 填入“授权回调地址(URL)”(这里填入的url即是下文提到的redirectUrl) -> “启用“ -> 开启需要的开放接口。

2) 在应用的AndroidManifest.xml里添加以下配置:

3) 授权并获取AccessToken/code

sdk会自行判断:在miui上,启动系统帐号进行授权;非miui上,使用webview登录然后授权

setCustomizedAuthorizeActivityClass()可以自定义非miui上的登录界面,设置actionbar、进度条等,可参照demo中的CustomizedAuthorizedActivity。

XiaomiOAuthFuture future = new XiaomiOAuthorize()

//开发者预先申请好的 AppID

.setAppId(appID)

// 开发者预先申请时填好的 redirectUrl

.setRedirectUrl(redirectUri)

// int数组,可以用XiaomiOAuthConstants.SCOPE_*等常量

.setScope(scope)

// 设置自定义的非miui上登录界面(默认是AuthorizeActivity)

.setCustomizedAuthorizeActivityClass(CustomizedAuthorizedActivity.class)

// 如果是要获得Code的方式,则把startGetAccessToken改成startGetOAuthCode即可。其他相同

.startGetAccessToken(activity);

fastOAuth - 在miui上以对话框方式授权 (可选)

效果:sdk检测miui上用户已经登录系统帐号时,弹出对话框

miui版本支持: 8.2以上。 8.2以下/非miui上 future.getResult()时抛出XMAuthericationException

需已经登录系统账号,否则授权结果xiaomiOAuthResults.getErrorCode()返回错误码-1002

XiaomiOAuthFuture future = new XiaomiOAuthorize()

.setAppId(getAppId())

.setRedirectUrl(getRedirectUri())

.setScope(getScopeFromUi())

.fastOAuth(MainActivity.this, XiaomiOAuthorize.TYPE_TOKEN);

获取授权结果AccessToken/code (在后台线程调用)

// 接下来这一段必须在后台线程调用

try {

XiaomiOAuthResults result = future.getRe

本文标签: 小米版本androidOAuthSDK