I'm currently creating an Android Auto Application, and for the Grid-View that is to be used, the user is able to store own images during runtime in the smartphone-view.
Now, when displaying these entries In Android Auto through the GridItemBuilder
i'm trying to reuse the image, that has been stored by the user. CarIconBuilder
offers the possibility to use IconCompat
, which im trying to do. But running these lines of code:
public Template onGetTemplate() {
...
String fileName = carContext.getCacheDir() + "/state_img_" + state.optLong("id") + ".png";
File imageFile = new File(fileName);
if (imageFile.exists()){
IconCompat icon = IconCompat.createWithContentUri(Uri.fromFile(imageFile));
gib.setImage(new CarIcon.Builder(icon).build(), GridItem.IMAGE_TYPE_ICON);
}else{
//TODO: Handle No-Image-Case.
}
gib.setTitle(state.optString("name"));
gib.setLoading(false);
...
}
returns the builder-exception:
java.lang.IllegalArgumentException: Unsupported URI scheme for: Icon(typ=URI uri=file:///data/user/0/my.namespace.appname/cache/state_img_1698487391260.png)
The file is detected existing, and displaying it in the mobile-view through ImageView
also works flawless. Not sure, where the issue is with Car-Icon-Builder here, any idea?
After trying a bunch of different things, finally creating a bitmap first is working now: