2009-11-26 213 views
0

羅傑,安卓相機意圖

我看到你一直在修補相機意圖。我有一個真正的麻煩,只是讓 一個簡單的應用程序告訴我什麼時候按下了相機按鈕。你有沒有一些代碼可以幫助我。

謝謝。

大衛

回答

3

在清單中,你需要說明你想收到拍照鍵的意圖:

<receiver android:name="domain.namespace.CameraReceiver"> 
     <intent-filter> 
      <action android:name="android.intent.action.CAMERA_BUTTON"/> 
     </intent-filter> 
    </receiver> 
    <activity android:name="domain.namespace.MyCameraActivity" 
      android:label="@string/app_name" android:screenOrientation="landscape" android:icon="@drawable/camera" 
     android:clearTaskOnLaunch="true"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    <intent-filter> 
      <action android:name="android.media.action.IMAGE_CAPTURE" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 
    </activity> 

在接收器:

public void onReceive(Context context, Intent intent) { 
    KeyEvent event = (KeyEvent) intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT); 

    if (event == null) { 
    return; 
    } 

    //prevent the camera app from opening 
    abortBroadcast();  

    Intent i = new Intent(Intent.ACTION_MAIN); 
    i.setClass(context, MyCameraActivity.class); 
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    context.startActivity(i);  
}