2

我正在尝试通过以下代码更改我使用 1280x1440 jpeg 图像的 Galaxy sIII(ICS os)设备上的壁纸:

<uses-permission android:name="android.permission.SET_WALLPAPER"/>

....

Bitmap m = BitmapFactory.decodeByteArray(data, 0, data.length);
WallpaperManager.getInstance(this).setBitmap(m);

这不起作用,并且以下也不起作用:

Bitmap m = BitmapFactory.decodeResource(getResources(), R.drawable.data_img);
WallpaperManager.getInstance(this).setBitmap(m);

但是当我使用这个时:

WallpaperManager.getInstance(this).setResource(data_img);

它工作得很好,但我的情况是下载一些图像数据,将其保存为位图,然后将其设置为墙纸。所以在我的情况下加载资源不起作用。

任何帮助,在此先感谢。

4

3 回答 3

8

您可以在此处找到文档。

你必须使用public void setStream (InputStream data)方法:

InputStream ins = new URL("absolute/path/of/image").openStream();
WallpaperManager wpm = WallpaperManager.getInstance(context);
wpm.setStream(ins);

或者,如果您有图像 URI,则使用:

WallpaperManager wpm = WallpaperManager.getInstance(context);
wpm.setResource(Uri.of.image);
于 2012-12-05T21:06:20.487 回答
0

感谢@Tudor Luca,它工作正常..

ins = new URL("file://"+Environment.getExternalStorageDirectory()+"/gst/chhota.jpg").openStream();
WallpaperManager wpm = WallpaperManager.getInstance(getBaseContext());
wpm.setStream(ins);
于 2013-09-30T09:40:28.220 回答
0

尝试这个...

  private static boolean connectToNewWifiConfig(final WifiConfiguration wc, Context context)
    {
        wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
        boolean success = false;
        final int actNetId = wifi.getConnectionInfo().getNetworkId();
        WifiInfo wifiInfo = wifi.getConnectionInfo();
        String prevNetworkSSID = wifiInfo.getSSID();
        int netId = wifi.addNetwork(wc);
        if (netId != ApplicationConstants.INVALID_NETWORK_ID)
        {
            success = wifi.saveConfiguration();
        }
        return success;
    }

它对我有用,确保你通过正确的 wificonfiguration,wificonfiguration 将包含

wifiConfig = new WifiConfiguration();
        wifiConfig.SSID = "\"".concat(networkSSID).concat("\"");
        wifiConfig.status = WifiConfiguration.Status.ENABLED;
        wifiConfig.hiddenSSID = true;
        wifiConfig.priority = 40;
于 2016-07-11T07:58:55.667 回答