我们知道android附带3或5或7个主屏幕。我想以编程方式在单个主屏幕上设置壁纸图像,并将其固定在所有其他主屏幕上。
我使用了以下代码:
Display display = ((WindowManager)getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
Bitmap bmp = Bitmap.createScaledBitmap(wallpaperImage,display.getWidth(),display.getHeight(), true);
setWallpaper(bmp);
壁纸图片已设置,但它横跨所有3个主屏幕。如何将其固定到一个屏幕,以便在用户交换主屏幕时显示单个图像。
答案 0 :(得分:0)
File f = new File(Environment.getExternalStorageDirectory(), "1.jpg");
String path = f.getAbsolutePath();
File f1 = new File(path);
if(f1.exists()) {
Bitmap bmp = BitmapFactory.decodeFile(path);
BitmapDrawable bitmapDrawable = new BitmapDrawable(bmp);
WallpaperManager m=WallpaperManager.getInstance(this);
try {
m.setBitmap(bmp);
} catch (IOException e) {
e.printStackTrace();
}
}
打开Androidmanifest.xml文件,添加使用Permission as
'uses-permission android:name="android.permission.SET_WALLPAPER" /'
试试这个,让我知道发生了什么......
答案 1 :(得分:0)
使用以下代码,您可以设置
Uri sendUri = Uri.fromFile(externalFile)
Intent intent = new Intent(Intent.ACTION_ATTACH_DATA);
intent.setDataAndType(sendUri, "image/jpg");
intent.putExtra("mimeType", "image/jpg");
startActivityForResult(Intent.createChooser(intent, "Set As"), 200);
并在androidmanifest.xml中添加权限