2012-09-08 4 views
6

Ich muss eine Dienstanwendung erstellen, die Bilddateien immer sucht und abruft, wenn ein neues Bild aus der integrierten Kameraanwendung stammt.So rufen Sie das Bild von der Kamera ab, ohne die Kamera-App zu verwenden (über einen Dienst)

1) Mein Service muss zusehen und nehmen Sie das Bild aus, wenn neues Bild von Build-in-Kamera-Anwendung genommen wurde

wie können wir den Bildpfad oder Bilddaten in meinem Dienst zu erhalten.

+0

Ich habe versucht, Ihre Frage so gut wie ich es verstanden zu bearbeiten; aber Sie müssen klären, was Sie wollen. Versuchen Sie, Ihre Frage mit einer Reihe von Schritten zu aktualisieren, die der Benutzer ausführen soll. Zum Beispiel 1. Öffnen Sie meine Anwendung 2. Klicken Sie auf die Kamera-Taste 2. Meine Anwendung zeigt Kamera-Ansicht 3. Benutzer erfasst Bild mit meiner Anwendung. –

Antwort

5

Manifest Code:

<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 Code:

@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

Danke seine Arbeit .. –

+0

OK gut kommen Ramesh .... –

Verwandte Themen