After many hours of research, I finally consult with official help. Why is the call to onHandleIntent() not called? Is something wrong here?
In the main onCreate() action:
mService = new Intent(context, xyz.class); startService(mService);
That's all. Called onStartCommand() , but not onHandleIntent()
package com.autoalbumwallaperplus; import android.app.IntentService; import android.content.Intent; import android.widget.Toast; public class xyz extends IntentService { public xyz() { super("bmp"); } @Override public int onStartCommand(Intent intent, int flags, int startId) { Toast.makeText(this,"onStartCommand works!", Toast.LENGTH_SHORT).show(); return super.onStartCommand(intent,flags,startId); } @Override protected void onHandleIntent(Intent workIntent) { Toast.makeText(this,"onHandleIntent works!", Toast.LENGTH_SHORT).show(); } }
This is inside OnHandleIntent
String imagepath = workIntent.getStringExtra("String"); Toast.makeText(this, "it works" , Toast.LENGTH_SHORT).show(); DisplayMetrics displayMetrics = new DisplayMetrics(); WindowManager hi = ((WindowManager) getBaseContext().getSystemService(Context.WINDOW_SERVICE)); int height = displayMetrics.heightPixels; int width = displayMetrics.widthPixels << 2; // ... First decode with inJustDecodeBounds=true to check dimensions final BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; Bitmap decodedSampleBitmap = BitmapFactory.decodeFile(imagepath, options); // ... Calculate inSampleSize options.inSampleSize = calculateInSampleSize(options, width, height); // ... Decode bitmap with inSampleSize set options.inJustDecodeBounds = false; decodedSampleBitmap = BitmapFactory.decodeFile(imagepath, options); // ... Set Wallpaper //Context context = getApplicationContext(); WallpaperManager wm = WallpaperManager.getInstance(this); try { wm.setBitmap(decodedSampleBitmap); } catch (IOException e) { }
source share