2011-05-09 16 views
16

के माध्यम से स्क्रीनशॉट लेता है यह किसी प्रश्न का बहुत कठिन नहीं होना चाहिए। मैं अपने लेआउट (देखें) का एक स्क्रीनशॉट लेने और इसे एसएमएस के माध्यम से भेजने की क्षमता चाहता हूं। क्या कोई मुझे कदमों के बावजूद चल सकता है?एंड्रॉइड कोड

धन्यवाद!

संपादित करें: मुझे लगता है कि यह एक 'स्क्रीनशॉट' होने की ज़रूरत नहीं है, जब तक हम किसी भी तरह से किसी भी दृश्य से पिक्सेल प्राप्त कर सकें।

+0

आप खोज चलाने की जरूरत है: गाया दृश्य प्राप्त करने के

View content = findViewById(R.id.layoutroot); content.setDrawingCacheEnabled(true); 

फंक्शन:

अपने रूट लेआउट की स्थापना सवाल। यहां लगभग सटीक डुप्ले http://goo.gl/K9ezs – Bostone

+0

संभव डुप्लिकेट [एंड्रॉइड स्क्रीन का स्क्रीनशॉट लें और एसडी कार्ड में सहेजें] (http://stackoverflow.com/questions/5929403/take-screenshot-of-android- स्क्रीन-एंड-सेव-टू-एसडी-कार्ड) – MByD

उत्तर

23

वेब के आसपास मुझे कोड के कुछ स्निपेट मिले जो मैं एक साथ काम करने में सक्षम था।

यहाँ एक समाधान है कि अच्छी तरह से काम करता है: मांगने से पहले

private void getScreen() 
{ 
    View content = findViewById(R.id.layoutroot); 
    Bitmap bitmap = content.getDrawingCache(); 
    File file = new File("/sdcard/test.png"); 
    try 
    { 
     file.createNewFile(); 
     FileOutputStream ostream = new FileOutputStream(file); 
     bitmap.compress(CompressFormat.PNG, 100, ostream); 
     ostream.close(); 
    } 
    catch (Exception e) 
    { 
     e.printStackTrace(); 
    } 
} 
+11

'एंड्रॉइड-अनुमति एंड्रॉइड: name =" android.permission.WRITE_EXTERNAL_STORAGE "/>' अपने एंड्रॉइड मैनेजमेंट में और हार्डकोडिंग के बजाय '/ sdcard/'use' फ़ाइल जोड़ने के लिए याद रखें फ़ाइल = नई फ़ाइल (Environment.getExternalStorageDirectory() + "/test.png"); ' – Macarse

+1

@ पनीट मैंने इस समाधान का उपयोग किया। test.png एसडीकार्ड में बनाया गया है। लेकिन actully छवि नहीं बनाई गई है यह 0kb दिखाता है। और मुझे यहाँ शून्य सूचक अपवाद मिलता है "bitmap.compress (CompressFormat.PNG, 100, ostream);" – vnshetty

+1

यहां समाधान मिला धन्यवाद .. http://stackoverflow.com/questions/2339429/android-view-getdrawingcache-returns-null-only-null – vnshetty

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