Установить обои из просмотра изображений, полученных из Firebase - Android - PullRequest
0 голосов
/ 23 марта 2019

Я новичок в Android. Я хочу установить обои из окна просмотра изображений, полученного из базы данных. Я сделал загрузку и установить кнопку. Кнопка загрузки отлично работает. Кнопка установки не работает. Я видел ответы на Stackoverflow, но они полны встроенных обоев для рисования. Так как установить обои из окна просмотра изображений, где изображение извлекается из базы данных

Вот код:

public class ViewWallActivity extends AppCompatActivity {
    CollapsingToolbarLayout collapsingToolbarLayout;
    Button download;
    Button buttonSetWallpaper;
    ImageView i1;


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

        final Target target = new Target() {
            @Override
            public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {

            }

            @Override
            public void onBitmapFailed(Exception e, Drawable errorDrawable) {

            }

            @Override
            public void onPrepareLoad(Drawable placeHolderDrawable) {

            }
        };

        initialize();

        Picasso.get().load(Utils.selected_wallpaper.getImageLink()).into(i1);


        buttonSetWallpaper.setOnClickListener(new Button.OnClickListener() {
            @Override
            public void onClick(View arg0) {
                Picasso.get().load(Utils.selected_wallpaper.getImageLink()).into(target);

            }
        });

        download.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                if(ContextCompat.checkSelfPermission(ViewWallActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE)==PackageManager.PERMISSION_GRANTED)
                {
                    String filename = UUID.randomUUID().toString() + ".png";

                    AlertDialog.Builder b = new AlertDialog.Builder(ViewWallActivity.this);
                    b.setMessage("Downloading....");
                    AlertDialog alertDialog =b.create();
                    alertDialog.show();

                    Picasso.get().load(Utils.selected_wallpaper.getImageLink()).into(new SaveImageHelper(getBaseContext(),alertDialog,getApplicationContext().getContentResolver(),filename,"Mini Image"));


                }
                else
                    ActivityCompat.requestPermissions(ViewWallActivity.this,  new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},9);



            }
        });
    }
    private void initialize()
    {
        i1 = (ImageView)findViewById(R.id.thumbImage);

        collapsingToolbarLayout = (CollapsingToolbarLayout)findViewById(R.id.collapsingToolbarLayout);
        //fabDownload = (FloatingActionButton)findViewById(R.id.fab_download);
        download = (Button)findViewById(R.id.btn) ;
        buttonSetWallpaper = (Button)findViewById(R.id.wallbtn);
        //fabWallpaper = (FloatingActionButton)findViewById(R.id.fab_wallpaper);

        collapsingToolbarLayout.setTitle(Utils.CATEGORY_SELECTED);



    }
}
...