0

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
Community
  • 1
  • 1
Sanjeev
  • 4,255
  • 3
  • 28
  • 37
  • Service run in background with no UI. Try remoteView to show system alert view – Pr38y Jul 14 '15 at 07:52
  • I am trying to create something like Facebook messanger chat heads , Look at this [link](http://www.piwai.info/chatheads-basics/) – Sanjeev Jul 14 '15 at 07:55

1 Answers1

3

The permission should be:

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

Notice the lowercase "android.permission".

Theo Lassonder
  • 1,019
  • 9
  • 16