2012-03-26 109 views
0

我想在設備搖動時實現打印屏幕類型的東西。爲此,我創建了一項將在設備啓動時啓動的服務。當我動搖它時,我可以看到自定義Toast消息。現在我想在同一個事件上做打印屏幕。爲此我需要'查看'對象。我已成功實現了使用活動的打印屏幕。現在想要實現相同的服務。如何從Android的後臺服務獲取當前'查看'?

如何從Android中的後臺服務獲取當前'查看'?

回答

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 
} 

我使用它來畫點什麼ontop的每一個屏幕

+0

嗨Boe-Dev,感謝您的回覆。什麼是HUDView ..?它是任何API類或您的自定義類。如果是請請提供信息.... – 2012-03-26 06:34:20

+0

哦對不起,我忘了這個。 – 2012-03-26 13:09:01

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(); 
    } 
+0

嗨,其實我不想畫任何東西,我關心的是我想從我的後臺服務中查看topActivity(前臺活動)的'View'對象/引用。 – 2012-03-27 05:56:49

相關問題