不要去參加活動,因爲出於安全原因,android不會在活動後面顯示鎖定屏幕,所以請使用服務而不是活動。
以下是我的服務onStartCommand中的代碼。
WindowManager mWindowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
View mView = mInflater.inflate(R.layout.score, null);
WindowManager.LayoutParams mLayoutParams = new WindowManager.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT, 0, 0,
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
| WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
/* | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON */,
PixelFormat.RGBA_8888);
mWindowManager.addView(mView, mLayoutParams);
並添加<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
體現
究竟是你想實現什麼目標?你是否試圖實現自己的鎖定屏幕,或者你想讓你的警報窗口顯示在鎖定屏幕上(不管是什麼)或者......? – 2010-09-09 12:15:39
其實我希望我能夠實現兩個:自己的鎖定屏幕和對話框在現有的鎖定屏幕上。 – plugmind 2010-09-09 14:27:54
我可以告訴你有關在鎖屏上顯示一個窗口:請參閱http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#FLAG_SHOW_WHEN_LOCKED – 2010-09-09 15:09:03