2

このコードで1280x1440jpeg画像を使用しているGalaxysIII(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

@TudorLucaに感謝します。

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 に答える