Как получить текущий «Вид» из фонового сервиса в Android? - PullRequest
0 голосов
/ 26 марта 2012

Я хочу реализовать такие вещи для печати на экране при встряхивании устройства. Для этого я создал один сервис, который будет запускаться на устройстве Boot. Когда я встряхиваю его, я вижу собственное сообщение Тост Теперь я хочу сделать print-screen на том же мероприятии. Для этого мне потребовался объект «Просмотр». Я успешно реализовал print-screen, используя активность. Теперь хочу реализовать то же самое в сервисе.

Как получить текущий 'Просмотр' из фонового сервиса в Android?

Ответы [ 2 ]

0 голосов
/ 26 марта 2012

да, это собственный класс, мой 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();
    }
0 голосов
/ 26 марта 2012

Может быть, вы можете использовать это:

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
}

Я использую это, чтобы нарисовать что-то поверх каждого экрана

...