我正在尝试使用以下代码获取用户登录时分配给用户的所有角色。
public class roles extends AsyncTask <String,Void,Void>{
@Override
protected Void doInBackground(String... params) {
final CloudUser user = new CloudUser();
final CloudRole role = new CloudRole("MCA");
user.setUserName(params[0]);
user.setPassword(params[1]);
try {
user.logIn(new CloudUserCallback() {
@Override
public void done(CloudUser cloudUser, CloudException e) throws CloudException {
if (cloudUser != null) {
System.out.println("login Successful");
System.out.println(cloudUser.getUserName());
cloudUser.isInRole(role);
}
if (e != null) {
System.out.println("In logn exception");
e.printStackTrace();
}
}
});
} catch (CloudException e) {
e.printStackTrace();
}
return null;
}
}
我收到以下错误:
致命异常:异步任务 #1 进程:com.rakesh_kr.图像,PID:31256 java.lang.RuntimeException:执行 doInBackground(( 时出错 at android.os.AsyncTask$3.done(AsyncTask.java:300( at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355( at java.util.concurrent.FutureTask.setException(FutureTask.java:222( at java.util.concurrent.FutureTask.run(FutureTask.java:242( at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231( at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112( at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587( at java.lang.Thread.run(Thread.java:818( 原因:java.lang.ClassCastException: io.cloudboost.json.JSONArray 不能强制转换为 java.util.ArrayList at io.cloudboost.CloudUser.isInRole(CloudUser.java:335( at com.rakesh_kr.image.MainActivity$roles$1.done(MainActivity.java:174( at io.cloudboost.CloudUser.logIn(CloudUser.java:219( at com.rakesh_kr.image.MainActivity$roles.doInBackground(MainActivity.java:168( at com.rakesh_kr.image.MainActivity$roles.doInBackground(MainActivity.java:155( at android.os.AsyncTask$2.call(AsyncTask.java:288( at java.util.concurrent.FutureTask.run(FutureTask.java:237( at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231( at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112( at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587( at java.lang.Thread.run(Thread.java:818(
在 v1.0.7
之前的 CloudBoost JavaSDK
版本中发生的错误,此问题已修复,请从 github 克隆最新源代码或获取最新的jar(1.0.7)
,这些应该在几个小时后在 maven 上可用。