Я хочу создать приложение, которое позволит мне установить обои на моем телефоне, но у меня есть проблема с: 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;
}
}
}
Может ли кто-нибудь помочь мне?
Context
ssetWallpaper()
, он расскажет вам, что вам нужно использовать. ЭтоWallpaperManager.set()
developer.android.com/ ссылка/android/контент/ - person Dreagen   schedule 29.04.2015