Search code examples
androidandroid-camerainputstreamandroid-bitmapandroid-wallpaper

How to set a camera app


I am trying to make a camera app which takes the pic and allow user to set it as the wallpaper the only this is it is giving error as

04-23 10:39:11.950 571-571/? E/Vold: Error reading configuration (No such file or directory)... continuing anyways

here is my java code

public class MainActivity extends AppCompatActivity implements   View.OnClickListener{

Button b1,b2;
ImageView iv;
Intent i;
final static int camdata=0;
Bitmap bmp;
Context context;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    initialize();
    InputStream is =context.getResources().openRawResource(+R.drawable.wale);
    bmp= BitmapFactory.decodeStream(is);
}
private void initialize(){
 iv =(ImageView)findViewById(R.id.imageView);
    b1=(Button)findViewById(R.id.button);
    b2=(Button)findViewById(R.id.button2);
    b1.setOnClickListener(this);
    b2.setOnClickListener(this);
}
@Override
public void onClick(View v) {
    switch (v.getId()){
        case R.id.button:
            WallpaperManager myWallpaper =WallpaperManager.getInstance(this);
            try{
                myWallpaper.setBitmap(bmp);
            } catch (IOException e) {
                e.printStackTrace();
            }
            break;
        case R.id.button2:
            i=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(i,camdata);
            break;
    }
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(requestCode==RESULT_OK){
        Bundle extras =data.getExtras();
        bmp=(Bitmap)extras.get("data");
        iv.setImageBitmap(bmp);
    }
}

}

my xml code

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.union.test5.MainActivity"
tools:showIn="@layout/activity_main">

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Set Wallpaper"
    android:id="@+id/button"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Camera"
    android:id="@+id/button2"
    android:layout_above="@+id/button"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="73dp" />

<ImageView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/imageView"

    android:layout_above="@+id/button2"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

I have set the image in my drawable file wale .

I am not able to know that what directory is missing here the program is compiling properly and not giving any error but it is giving runtime error.What changes it need The error in setting the Inputstream command or

InputStream is =context.getResources().openRawResource(+ R.drawable.wale);
  bmp= BitmapFactory.decodeStream(is);

this is the main error.


Solution

  • remove context from InputStream is =context.getResources().openRawResource(+ R.drawable.wale); bmp= BitmapFactory.decodeStream(is);