Please: visit this question before marking down this question link
I want to add a ImageView to a service , such that it appears on top of other activities but it is giving an error : Detail Below
Code: androidMainfest.xml
<uses-permission android:name="ANDROID.PERMISSION.SYSTEM_ALERT_WINDOW"/>
<service android:name=".ToggleHeadService"/>
Code: ToggleHeadService.java
public class ToggleHeadService extends Service{
private WindowManager windowManager;
private ImageView toggleHead;
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
toggleHead=new ImageView(this);
toggleHead.setImageResource(R.drawable.ic_brightness_high_black_48dp);
windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
| WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.TOP | Gravity.LEFT;
params.x = 0;
params.y = 100;
windowManager.addView(toggleHead, params);
}
@Override
public void onDestroy() {
super.onDestroy();
if(toggleHead!=null)windowManager.removeView(toggleHead);
}
}
ERROR: That I got
java.lang.RuntimeException: Unable to create service com.betatech.alex.toggle.ToggleHeadService: android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@3cf2926d -- permission denied for this window type
Caused by: android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@3cf2926d -- permission denied for this window type