2012-09-08 5 views
6

カメラアプリケーションで作成した新しい画像があれば、常に画像ファイルを探して取得するサービスアプリケーションを作成する必要があります。カメラアプリケーションを使わずにカメラから画像を取得する方法(サービス経由)

1)私のサービスを見て、新しい画像がカメラアプリケーション私たちは私のサービスで、画像パスまたは画像データを得ることができる方法

にビルドから取られた場合の画像を撮影する必要があります。

+0

私はあなたの質問を私が理解したとおりに編集しようとしました。しかし、あなたは何をしたいのかを明確にする必要があります。あなたが望む一連のステップであなたの質問を更新してみてください。たとえば、1.アプリケーションを開きます。2.カメラボタン2をクリックします。アプリケーションはカメラビュー3を表示します。ユーザーはアプリケーションを使用して画像をキャプチャします。 –

答えて

5

マニフェストコード:

<receiver android:name=".pictureReceiver" > 
     <intent-filter android:priority="10000" > 
      <action android:name="com.android.camera.NEW_PICTURE"/> 
     <data android:mimeType="image/*"/> 
     </intent-filter> 
</receiver> 

onReceiveコード:http://developer.android.com/reference/android/hardware/Camera.html#ACTION_NEW_PICTURE

@Override 
    public void onReceive(Context arg0, Intent arg1) { 
      String selectedImageUri = arg1.getData().getPath(); 
      Log.d("TAG", "Received new photo:::"+selectedImageUri); 
       Log.d("TAG","file Path"+getRealPathFromURI(arg1.getData(),arg0)); 
    } 
public String getRealPathFromURI(Uri contentUri,Context context) 
     { 
      try 
      { 
       String[] proj = {MediaStore.Images.Media.DATA}; 

       Cursor cursor = context.getContentResolver().query(contentUri, proj, null, null, null); 
       int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
       cursor.moveToFirst(); 
       return cursor.getString(column_index); 
      } 
      catch (Exception e) 
      { 
       return contentUri.getPath(); 
      } 
     } 
+0

ありがとうございました.. –

+0

うまく来ましたラメス.... –

1

FYI ICSのAPIレベル14以降の公式放送を聞くことが推奨されます。したがって、 "android.hardware.action.NEW_PICTURE"をフィルタリングし、pre-ICSもサポートする必要がある場合にのみ、 "com.android.camera.NEW_PICTURE"を使用してください。

関連する問題