首页 > 移动平台 > 详细

android-windowManager使用实例

时间:2020-12-14 10:31:34      阅读:71      评论:0      收藏:0      [点我收藏+]
   public static boolean isStarted;
private WindowManager windowManager;
private WindowManager.LayoutParams layoutParams;
private View displayView;

private Handler mHandler = new Handler();
private Button accOn;
private Button accOff;

@Override
public void onCreate() {
super.onCreate();
windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
layoutParams = new WindowManager.LayoutParams();
layoutParams.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
layoutParams.format = PixelFormat.RGBA_8888;
layoutParams.gravity = Gravity.CENTER | Gravity.TOP;
// layoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
layoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;
layoutParams.width = 250;
layoutParams.height = 50;
layoutParams.x = 500;
layoutParams.y = 0;
}

@Override
public IBinder onBind(Intent intent) {
return null;
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {//兼容android8.0以上需要启动前台服务
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
NotificationChannel mChannel = new NotificationChannel("CHANNEL_ID_STRING", "检查连接状态", NotificationManager.IMPORTANCE_HIGH);
notificationManager.createNotificationChannel(mChannel);
Notification notification = new Notification.Builder(getApplicationContext(), "CHANNEL_ID_STRING").build();
startForeground(1, notification);
}
isStarted = true;
showFloatingWindow();
return super.onStartCommand(intent, flags, startId);
}

private String address;
private void showFloatingWindow() {
if (Settings.canDrawOverlays(this)) {
LayoutInflater layoutInflater = LayoutInflater.from(this);
displayView = layoutInflater.inflate(R.layout.window, null);
accOn = displayView.findViewById(R.id.acc_on);
accOn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {

}
});
accOff = displayView.findViewById(R.id.acc_off);
accOff.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {

}
});
windowManager.addView(displayView, layoutParams);
}
}

android-windowManager使用实例

原文:https://www.cnblogs.com/huhe/p/14131553.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!