Restore default build-in 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

Restore default build-in wallpaper



Last post "Load photo and set Wallpaper" show how to open photo with Intent of ACTION_OPEN_DOCUMENT/ACTION_GET_CONTENT, then set as Wallpaper with WallpaperManager. This example show how to revert to the system's built-in wallpaper, by calling clear() method of 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, btnRestoreWallpaper;

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);

btnRestoreWallpaper = (Button)findViewById(R.id.restorewp);
btnRestoreWallpaper.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
WallpaperManager myWallpaperManager =
WallpaperManager.getInstance(getApplicationContext());
try {
myWallpaperManager.clear();
} catch (IOException e) {
e.printStackTrace();
}

}
});

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"/>
<Button
android:id="@+id/restorewp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Restore default 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.

Next:
Set wallpaper using resource inside APK

No comments:

Post a Comment

Featured Post

Stumble Guys MOD APK 0.54.2

Popular Posts

Advertisement

2 > 3 4