Load photo and set Wallpaper - Apk Apps For you

Apk Apps For you

Foxi apk download latest version for Android,fifa 20 download for Android,fifa 20 download,mobile games,games download,Android games free download apk

Click here to download

Search This Blog

2 > 3 4

Thursday, March 3, 2016

Load photo and set Wallpaper


Example to open photo with Intent of ACTION_OPEN_DOCUMENT/ACTION_GET_CONTENT, then set as Wallpaper with WallpaperManager.


MainActivity.java
package com.blogspot.android_er.androidwallpaper;

import android.app.Activity;
import android.app.WallpaperManager;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;

import java.io.FileNotFoundException;
import java.io.IOException;

public class MainActivity extends AppCompatActivity {

ImageView imageWallpaper;
Button btnLoadWallpaper, btnDisplayWallpaper;

private static final int RQS_OPEN_IMAGE = 1;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

imageWallpaper = (ImageView)findViewById(R.id.image);

btnDisplayWallpaper = (Button)findViewById(R.id.displaywp);
btnDisplayWallpaper.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
displayWallpaper();
}
});

btnLoadWallpaper = (Button)findViewById(R.id.loadwp);
btnLoadWallpaper.setOnClickListener(btnLoadWallpaperOnClickListener);
displayWallpaper();

}

View.OnClickListener btnLoadWallpaperOnClickListener = new View.OnClickListener() {

@Override
public void onClick(View v) {
Intent intent = new Intent();

if (Build.VERSION.SDK_INT >=
Build.VERSION_CODES.KITKAT) {
intent.setAction(Intent.ACTION_OPEN_DOCUMENT);
} else {
intent.setAction(Intent.ACTION_GET_CONTENT);
}

intent.addCategory(Intent.CATEGORY_OPENABLE);

// set MIME type for image
intent.setType("image/*");

startActivityForResult(intent, RQS_OPEN_IMAGE);
}
};

private void displayWallpaper(){
WallpaperManager myWallpaperManager =
WallpaperManager.getInstance(getApplicationContext());
Drawable drawableWallpaper = myWallpaperManager.getDrawable();
imageWallpaper.setImageDrawable(drawableWallpaper);

Toast.makeText(this,
drawableWallpaper.getMinimumWidth() + " x " + drawableWallpaper.getMinimumHeight()
+ "\n" +
drawableWallpaper.getIntrinsicWidth() + " x " + drawableWallpaper.getIntrinsicHeight(),
Toast.LENGTH_LONG).show();
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK) {
if (requestCode == RQS_OPEN_IMAGE) {
Uri dataUri = data.getData();
Uri wallpaperUri = dataUri;
Toast.makeText(this, wallpaperUri.toString(), Toast.LENGTH_LONG).show();

Bitmap newOriginalBM= loadBitmap(dataUri);;
reloadWallpaper(newOriginalBM);
}
}
}

private Bitmap loadBitmap(Uri src) {

Bitmap bm = null;

try {
bm = BitmapFactory.decodeStream(
getBaseContext().getContentResolver().openInputStream(src));
} catch (FileNotFoundException e) {
e.printStackTrace();
}

return bm;
}

private void reloadWallpaper(Bitmap bm){
if(bm != null){
WallpaperManager myWallpaperManager =
WallpaperManager.getInstance(getApplicationContext());


if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if(myWallpaperManager.isWallpaperSupported()){
try {
myWallpaperManager.setBitmap(bm);
} catch (IOException e) {
e.printStackTrace();
}
}else{
Toast.makeText(MainActivity.this,
"isWallpaperSupported() NOT SUPPORTED",
Toast.LENGTH_LONG).show();
}
}else{
try {
myWallpaperManager.setBitmap(bm);
} catch (IOException e) {
e.printStackTrace();
}
}
}else{
Toast.makeText(MainActivity.this, "bm == null", Toast.LENGTH_LONG).show();
}
}
}


activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp"
android:orientation="vertical"
tools:context="com.blogspot.android_er.androidwallpaper.MainActivity">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:autoLink="web"
android:text="http://android-er.blogspot.com/"
android:textStyle="bold" />
<Button
android:id="@+id/displaywp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Display Wallpaper"/>
<Button
android:id="@+id/loadwp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Load Wallpaper"/>
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>


uses-permission of "android.permission.SET_WALLPAPER" is needed in AndroidManifest.xml.

download filesDownload the files (Android Studio Format) .

Next:
Restore default build-in wallpaper

No comments:

Post a Comment

Featured Post

Stumble Guys MOD APK 0.54.2

Popular Posts

Advertisement

2 > 3 4