我正在尝试开发一个Android Wear应用程序,并从移动助手活动中传递资产。我已经按照官方文档传输资产的要求进行了操作,但是当我尝试从传递的资产中加载位图时,在
我遇到的错误如下:
onDataChanged
函数中出现以下错误。请注意,当传递String
值时,该代码可以正常工作。 代码如下:public Bitmap loadBitmapFromAsset(Bitmap bitmap, Asset asset) {
if (asset == null) {
throw new IllegalArgumentException("Asset must be non-null");
}
ConnectionResult result = mGoogleApiClient.blockingConnect(5000, TimeUnit.MILLISECONDS);
if (!result.isSuccess()) {
return null;
}
InputStream assetInputStream = Wearable.DataApi.getFdForAsset(mGoogleApiClient, asset).await().getInputStream();
mGoogleApiClient.disconnect();
if (assetInputStream == null) {
return null;
}
if (bitmap != null) {
bitmap.recycle();
bitmap = null;
}
bitmap = BitmapFactory.decodeStream(assetInputStream);
return bitmap;
}
我遇到的错误如下:
有什么想法是什么导致了这个错误?java.lang.IllegalStateException: 不应在UI线程上调用blockingConnect at com.google.android.gms.common.internal.zzx.zza(Unknown Source) at com.google.android.gms.common.api.internal.zzj.blockingConnect(Unknown Source) ...