我想在设备震动上实现打印屏幕类型的东西。为此我创建了一个将在设备Boot上启动的服务。当我摇动它时,我可以看到自定义Toast消息。现在我想在同一个活动上进行打印。为此我需要'查看'对象。我已成功使用活动实现了打印屏幕。现在想在服务中实现相同的功能。
如何从android中的后台服务获取当前的“查看”?
答案 0 :(得分:0)
也许你可以使用它:
HUDView mView;
public void onCreate() {
super.onCreate();
mView = new HUDView(this);
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.RIGHT | Gravity.TOP;
params.setTitle("Load Average");
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
wm.addView(mView, params);
this.registerReceiver(this.mBatInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
}
public HUDView(Context context) {
super(context);
ctx = context;
mLoadPaint = new Paint();
mLoadPaint.setAntiAlias(true);
mLoadPaint.setTextSize(20);
mLoadPaint.setARGB(255, 255, 255, 255);
}
protected void onDraw(final Canvas canvas) {
something to draw
}
我用它在每个屏幕上画一些东西
答案 1 :(得分:0)
是的,它是一个自己的类,我的onDraw看起来像这样
@Override
protected void onDraw(final Canvas canvas) {
super.onDraw(canvas);
std = canvas;
std.drawBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.menu), 200, std.getHeight()-50, mLoadPaint);
}
invalidate();
}