我正在尝试使用向窗口添加视图(例如 ImageButton)WindowManager.addView(button)
,
什么是布局参数,以便可以在“锁定屏幕”上看到按钮。
提前致谢。
我正在尝试使用向窗口添加视图(例如 ImageButton)WindowManager.addView(button)
,
什么是布局参数,以便可以在“锁定屏幕”上看到按钮。
提前致谢。
您可以尝试WindowManager.LayoutParams.TYPE_SYSTEM_ERROR
在WindowManager.LayoutParams
构造函数中添加类型,如下所示:
WindowManager.LayoutParams params=new WindowManager.LayoutParams();
params.type=WindowManager.LayoutParams.TYPE_SYSTEM_ERROR;
上述行将使视图出现在锁定屏幕上,您可以在其中捕获触摸事件、点击事件和许多其他事件;但是,您可以将下面提到的标志用于不可触摸的视图。
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY
注意:根据Android 开发人员,上述两个标志在 API 级别 26 中已弃用,因此您可以使用标志 TYPE_APPLICATION_OVERLAY 作为替代。
您必须创建一个具有透明背景的活动,并在顶部显示您想在锁定屏幕上显示的视图。现在,当您的手机唤醒时调用该活动。 注意:您必须提供一项服务才能开始您的活动。您必须向该服务注册广播接收器。
public class CrackService extends Service
{
CrackView renderView;
LayoutParams params;
WindowManager wm;
@Override
public void onCreate()
{
params = new WindowManager.LayoutParams( WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.RIGHT | Gravity.TOP;
wm = (WindowManager) getSystemService(WINDOW_SERVICE);
wm.addView(renderView, params);
}
@Override
public IBinder onBind(Intent intent)
{
// TODO Auto-generated method stub
return null;
}
}