2011-12-18 14 views
7

मैं सोच रहा था कि एंड्रॉइड को यह बताएं कि मेरा ऐप कैमरा ऐप है, इसलिए अन्य ऐप्स जानते हैं कि वे एक तस्वीर पाने के लिए अपना ऐप शुरू कर सकते हैं। ईजी। पिक्सेल-ओ-मैटिक के साथ आप या तो गैलरी से एक छवि का चयन कर सकते हैं या आप इसे अपनी पसंद के कैमरे ऐप से अनुरोध कर सकते हैं।एंड्रॉइड: "ऐप ऐप" के रूप में अपना ऐप कैसे पंजीकृत करें

संपादित करें: मैं तस्वीर को कॉलिंग ऐप में कैसे वापस कर सकता हूं?

उत्तर

11

यह इरादा-फ़िल्टर के साथ किया जाता है। अपने मेनिफेस्ट में निम्न टैग जोड़ें:

<activity android:name=".CameraActivity" android:clearTaskOnLaunch="true"> 
    <intent-filter> 
     <action android:name="android.media.action.IMAGE_CAPTURE" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 
</activity> 

अब आपका एप्लिकेशन उस सूची में दिखाई देगा जब उपयोगकर्ता एक तस्वीर लेना चाहता है।

संपादित करें:

Uri saveUri = (Uri) getIntent().getExtras().getParcelable(MediaStore.EXTRA_OUTPUT); 

if (saveUri != null) 
{ 
    // Save the bitmap to the specified URI (use a try/catch block) 
    outputStream = getContentResolver().openOutputStream(saveUri); 
    outputStream.write(data); // write your bitmap here 
    outputStream.close(); 
    setResult(RESULT_OK); 
} 
else 
{ 
    // If the intent doesn't contain an URI, send the bitmap as a Parcelable 
    // (it is a good idea to reduce its size to ~50k pixels before) 
    setResult(RESULT_OK, new Intent("inline-data").putExtra("data", bitmap)); 
} 

तुम भी एंड्रॉयड में निर्मित Camera app source code जाँच कर सकते हैं:

यहाँ एक बिटमैप वापस जाने के लिए उचित तरीका है।

+0

क्षमा किया है, कुछ भूल गया- मैंने अभी प्रश्न – stoefln

+0

संपादित किया है, मैंने अपना जवाब संपादित किया है। – Dalmas

+0

क्या बड़ी छवियों को अतिरिक्त में डालने में कोई समस्या नहीं है? छवि के पथ को वापस करने के लिए बेहतर नहीं होगा? – stoefln

3

आपको अपनी गतिविधि में एक इरादा फ़िल्टर निर्दिष्ट करना चाहिए, जो यह निर्दिष्ट करेगा कि आपका ऐप एक तस्वीर लेने के लिए शुरू किया जा सकता है।

<intent-filter> 
      <action android:name="android.media.action.IMAGE_CAPTURE" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 

आशा है कि इससे मदद मिलती है!

+0

क्या इससे आपकी मदद मिली? –

+0

क्षमा करें, कुछ के बारे में भूल गए- मैंने अभी प्रश्न – stoefln

संबंधित मुद्दे