cocos2d-x 里获取 android apk icon

在cocos2d-x项目中有个需求,就是在项目动态生成带icon的二维码图片。在ios中获取icon的地址比较简单,可以直接在cocos2d-x项目中直接使用。但是android的icon一般在drawable下,2d-x 中不能直接使用,于是想了个方法,先上代码。

public String getIconPath() {   
    String fileName = "5b5c7d544259aec6.png";    
    String path = this.getFilesDir().getAbsolutePath() + fileName;
    File file = new File(path);   
    if (file.exists()) {
        return path;    
    }    
    try {
        Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
        File newFile = new File(this.getFilesDir().getAbsolutePath(), fileName);
        OutputStream outputStream = new FileOutputStream(newFile);        
        bitmap.compress(Bitmap.CompressFormat.PNG, 100, outputStream);
        outputStream.flush();
        outputStream.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return path;
}

先将drawable里的icon图片保存到包目录下,记得得是png格式。然后通过jni调用即可在项目中获取icon图片的绝对路径,通过sprite 或者 imageview 创建图片。

你可能感兴趣的:(cocos2d-x 里获取 android apk icon)