0
我發送以下意圖模擬硬件相機按鈕按下。此代碼正在服務中運行。我第一次運行此代碼(在隨機屏幕中),它會按預期打開默認相機應用程序。但是,如果我在相機應用程序中再次運行此代碼,它不會像我所期望的那樣拍攝照片。它只是重新加載相機應用程序。問題是:Android - 模擬相機按鈕按下打開相機應用程序,但不拍照
我還需要做些什麼才能使默認相機應用程序拍照?(無需用戶交互)。
long eventtime = SystemClock.uptimeMillis();
Intent downIntent = new Intent(Intent.ACTION_CAMERA_BUTTON, null);
KeyEvent downEvent = new KeyEvent(eventtime, eventtime,
KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_CAMERA, 0);
downIntent.putExtra(Intent.EXTRA_KEY_EVENT, downEvent);
sendOrderedBroadcast(downIntent, "android.permission.CAMERA");
Intent upIntent = new Intent(Intent.ACTION_CAMERA_BUTTON, null);
KeyEvent upEvent = new KeyEvent(eventtime+100, eventtime+100,
KeyEvent.ACTION_UP, KeyEvent.KEYCODE_CAMERA, 0);
upIntent.putExtra(Intent.EXTRA_KEY_EVENT, upEvent);
sendOrderedBroadcast(upIntent, "android.permission.CAMERA");
(我不認爲權限是真的有必要)
這只是打開,如果TI exists..the用戶必須點擊一個按鈕來拍攝照片的相機應用。我所要做的就是在問題中已經提到,通過模擬相機按鈕事件拍攝沒有用戶干擾的照片。我知道這是可能的,因爲我可以用Tasker做到這一點,任務包含「打開相機應用程序」,「相機按鈕按下」。 – Anonymous
首先,感謝您的提示。我將花費幾個小時與_Tasker_在一起。 –
其次,如果您嘗試它,您會看到「拍照」操作不使用庫存相機應用程序。它啓動一項自定義活動,並讓您選擇正面或背面攝像頭,分辨率,延遲等。 –