在android中显示悬浮窗可以开启一个服务来实现,代码如下:

publicclassFloatServiceextendsService{

publicFloatService() {

}

@Override

publicvoidonCreate() {

super.onCreate();

WindowManagerwindowManager=(WindowManager)getSystemService(Context.WINDOW_SERVICE);

WindowManager.LayoutParamslayoutParams=newWindowManager.LayoutParams();

layoutParams.type=WindowManager.LayoutParams.TYPE_TOAST;

layoutParams.width=300;

layoutParams.height=300;

layoutParams.gravity=Gravity.TOP|Gravity.RIGHT;

Buttonbutton=newButton(getApplicationContext());

button.setText("i am float button");

layoutParams.flags=WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;

windowManager.addView(button,layoutParams);

}

@Override

publicIBinderonBind(Intent intent) {

//TODO: Return the communication channel to the service.

thrownewUnsupportedOperationException("Not yet implemented");

}

}


注意layoutParams.type=WindowManager.LayoutParams.TYPE_TOAST;这中形式的是不需要权限的,

layoutParams.type=WindowManager.LayoutParams.TYPE_PHONE;是需要申请

android.permission.SYSTEM_ALERT_WINDOW权限,跟上篇在application下面弹对话框需要的权限是一样的,其中估计是有很大联系的,后面再研究dialog的实现原理。备忘。

更多相关文章

  1. Android打电话,挂电话
  2. Android(安卓)中设置桌面背景
  3. Android(安卓)app获取android.permission.BATTERY_STATS权限
  4. android 震动
  5. Android(安卓)全屏无标题详解
  6. Android(安卓)6.0后强制弹出权限
  7. Android危险权限和权限组
  8. Android(安卓)自定义带百分比的进度条
  9. Android(安卓)4.0 创建AVD报错

随机推荐

  1. 飞利浦 V808 android
  2. 隆重推出:Android(安卓)KTX 预览版让 Kotl
  3. Android(安卓)适配心得
  4. 懒骨头的Android文档备份3:一个简单的交互
  5. Android使用ViewDragHelper实现简单的vie
  6. Android(安卓)应用程序(进程)生命周期
  7. android 2.3 以上的StrictMode 使用方法
  8. android ICS 系统启动之Logo相关学习总结
  9. Android基础入门教程——4.2.1 Service初
  10. AndroidStudio中AVD虚拟机设备空间不足调