gpt4 book ai didi

Android setWallpaper 弃用

转载 作者:行者123 更新时间:2023-11-29 15:12:10 25 4
gpt4 key购买 nike

我想创建一个允许我设置手机壁纸的应用程序,但我遇到了一个问题:getApplicationContext().setWallpaper(bm)
它说 setWallpaper 已被弃用,我应该使用另一种方法,但我不知道该使用什么方法。
到目前为止,这是我的代码:

   package com.example.asus.incercare_proiect;

/**
* Created by Asus on 29-Apr-15.
*/
import java.io.IOException;
import java.io.InputStream;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;

class bakapp extends Activity implements OnClickListener {
ImageView display;
int tophone;

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);

// activitatea noastra sa acopere intreg ecranul
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);

setContentView(R.layout.backapp);
Button but = (Button) findViewById(R.id.setwallpaper);
tophone = R.drawable.image4;
but.setOnClickListener(this);
display = (ImageView) findViewById(R.id.ivdisplay);
ImageView image1 = (ImageView) findViewById(R.id.IVimage1);
ImageView image2 = (ImageView) findViewById(R.id.IVimage2);
ImageView image3 = (ImageView) findViewById(R.id.IVimage3);
ImageView image4 = (ImageView) findViewById(R.id.image4);
ImageView image5 = (ImageView) findViewById(R.id.IVimage5);

image1.setOnClickListener(this);
image2.setOnClickListener(this);
image3.setOnClickListener(this);
image4.setOnClickListener(this);
image5.setOnClickListener(this);

}

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast var;
switch (v.getId()) {
case R.id.IVimage1:
display.setImageResource(R.drawable.image4);
var = Toast.makeText(bakapp.this, "image changed",
Toast.LENGTH_SHORT);

var.show();

tophone = R.drawable.image4;
break;
case R.id.IVimage2:
display.setImageResource(R.drawable.image5);
var = Toast.makeText(bakapp.this, "image changed",
Toast.LENGTH_SHORT);

var.show();

tophone = R.drawable.image5;
break;
case R.id.IVimage3:
display.setImageResource(R.drawable.image6);
var = Toast.makeText(bakapp.this, "image changed",
Toast.LENGTH_SHORT);

var.show();

tophone = R.drawable.image6;
break;
case R.id.image4:
display.setImageResource(R.drawable.image7);
var = Toast.makeText(bakapp.this, "image changed",
Toast.LENGTH_SHORT);

var.show();

tophone = R.drawable.image7;
break;
case R.id.IVimage5:
display.setImageResource(R.drawable.image8);
var = Toast.makeText(bakapp.this, "image changed",
Toast.LENGTH_SHORT);

var.show();

tophone = R.drawable.image8;
break;
case R.id.setwallpaper:
// trebuie folosit bitmap
InputStream is = getResources().openRawResource(tophone);

Bitmap bm = BitmapFactory.decodeStream(is);

try {
getApplicationContext().setWallpaper(bm);

// trebuie sa cerem permisiune pentru a seta Wallpaperul

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
var = Toast.makeText(bakapp.this, "Wallpaper image changed",
Toast.LENGTH_SHORT);

var.show();

break;
}
}

}

谁能帮帮我?

最佳答案

如果你看一下 official docs ,您会发现此方法自 API 5 以来已被弃用,您应该使用 WallpaperManager.setBitmap()相反。

关于Android setWallpaper 弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29946731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com