2015-05-24 42 views
0

是否有可能對Xperia Z3的硬件攝像頭按鈕做出反應?我試過android.intent.action.CAMERA_BUTTON如何對在Xperia Z3上按下的攝像頭按鈕做出反應

<activity 
    android:name=".MainActivity" 
    android:label="@string/app_name" 
    android:screenOrientation="landscape"> 
    <intent-filter android:priority="1000"> 
     <action android:name="android.intent.action.CAMERA_BUTTON" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 
</activity> 

但是仍然內置攝像頭的應用程序打開。

縱觀Logcat,該按鈕確實不會觸發CAMERA_BUTTON意圖,而是針對供應商應用程序的特定應用程序。有沒有人通過智能設備取得成功?

+0

作爲用戶,您可以通過設置來查看是否有一個選項來控制通過「CAMERA」按鈕啓動的應用程序。 – CommonsWare

+0

不錯。我沒有想到:-)但是,這很棘手,因爲我必須讓我的用戶這樣做。除此之外,快速搜索沒有透露任何這樣的設置 – PhilLab

回答

0

您不能用onKeyDown代替嗎?這是在我的Z3上工作:

@Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 
     if (keyCode == KeyEvent.KEYCODE_CAMERA) { 
      //do something 
      return true; 
     } 
     return true; 
    } 
+0

嗯,我還沒有嘗試過。這對於意圖也是可能的,例如當我的應用程序尚未打開? – PhilLab

+0

@PhilLab啊我看到,沒有可能不會,除非你有一個服務運行,捕獲按鈕按下,但即使如此,系統設置可能會覆蓋它。 – Pete

0

你的代碼是好的,但默認相機也吃我的廣播。我找到的唯一解決方案是進入設備設置 - >應用程序 - >相機 - >禁用。 (所以不只是禁用快速啓動,但禁用整個應用程序)。我在那之後正確收到廣播。

相關問題