设置壁纸应该是这么难:(

时间:2011-01-19 15:53:51

标签: android exception-handling wallpaper

好吧我认为这是一个例外。不幸的是我没有收到错误。 它加载到模拟器和我的手机上,但不会执行。它只是说,“应用程序MyApp(进程com.myapp)意外停止。请再试一次。”然后是ForceClose按钮。 :(

这里是我的代码:

public void onClick(DialogInterface dialog, int id) {
    try {
        MyActivity.this.setWallpaper(mContext.getDrawingCache()); 
        finish();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

在我自己的研究中,我看到有人从getDrawingCache获取位图并将其转换为位图?但是view.getDrawingCache上的文档说它已经是一个位图,而setWallpaper应该设置一个位图...... 我在这里没有想法。

1 个答案:

答案 0 :(得分:2)

什么是mContext? getDrawingCache()是View类的一个方法,如果你第一次调用setDrawingCacheEnabled(true)或者调用buildDrawingCache(),它将只返回一个有效的Bitmap。您还必须确保View经过了布局过程,并且其宽度和高度都是> 0