मैं एंड्रॉइड के लिए कुछ प्रकार के रिमोट सहायता टूल (जैसे वीएनसी) को कार्यान्वित करना चाहता हूं। डिवाइस पर प्रोग्रामेटिक रूप से स्क्रीन कैप्चर करने की संभावना है?मोबाइल डिवाइस पर प्रोग्रामेटिक स्क्रीनकैप्चर
उत्तर
कुछ ऐसा है जैसे आप के लिए काम कर सकते हैं:
View v = view.getRootView();
v.setDrawingCacheEnabled(true);
Bitmap b = v.getDrawingCache();
android-developers पर इस की एक लंबी चर्चा नहीं है, लेकिन संक्षिप्त उत्तर है: आप नहीं प्रोग्रामेटिक पर एक Android डिवाइस की स्क्रीन का एक स्क्रीनशॉट ले जा सकते हैं पल, जब तक
- आपको लगता है कि फोन पर रूट पहुँच है, या
- आपका आवेदन एक सिस्टम ऐप्लिकेशन
एंड्रॉइड मैनिफेस्ट अनुमति READ_FRAME_BUFFER मौजूद है (एपीआई दस्तावेज़ here देखें), लेकिन वर्तमान में केवल सिस्टम अनुप्रयोगों द्वारा उपयोग किया जा सकता है। इसके लिए कई कारण हैं, एक यह है कि यह एक सुरक्षा जोखिम है। यदि कोई पृष्ठभूमि किसी भी समय फोन की स्क्रीन का स्क्रीनशॉट ले सकती है, तो लोग अन्य निजी सूचनाओं के साथ उपयोगकर्ता के पासवर्ड को छीनने के लिए ओसीआर तकनीकों का उपयोग कर सकते हैं।
तो नहीं, रूट के बिना इस समय एक वीएनसी आवेदन संभव नहीं है। अपने कंप्यूटर से एक स्क्रीनशॉट लेने के लिए (जबकि फोन यूएसबी के माध्यम से प्लग किया गया है) आप DDMS का उपयोग कर सकते हैं।
आपने जो कहा है उसके आधार पर, ऐसा लगता है कि गैर-स्टॉक वसूली के माध्यम से एक सिस्टम एप्लिकेशन इंस्टॉल किया जा सकता है और जरूरी नहीं कि रोम की आवश्यकता हो खुद को जड़ें। मैंने इस उत्तर को पोस्ट करने के बाद भी 1.75 साल के किसी भी वीएनसी सिस्टम अनुप्रयोगों के बारे में नहीं सुना है। वहाँ बहुत से कस्टम रोम उपयोगकर्ता हैं और ऐसा लगता है कि वहां एक शून्य है जो किसी के लिए एक अच्छा वीएनसी ऐप के साथ आने का इंतजार कर रहा है। –
बिंदु 2 के संबंध में: आपको केवल सिस्टम सिस्टम (यानी सिस्टम फ़ोल्डर में) से अधिक होना है, आपको ओएस कुंजी द्वारा हस्ताक्षरित होना होगा, जो कि अधिक प्रतिबंधित है। "हस्ताक्षरऑरसिस्टम" और "हस्ताक्षर" होने की अनुमति के बीच यह अंतर है। –
आप निम्न पुस्तकालय की कोशिश कर सकते हैं: http://code.google.com/p/android-screenshot-library/ एंड्रॉयड स्क्रीनशॉट लाइब्रेरी (एएसएल) प्रोग्राम के रूप में रूट पहुँच विशेषाधिकार होने की आवश्यकता के बिना Android उपकरणों से स्क्रीनशॉट पर कब्जा करने के लिए सक्षम बनाता है। इसके बजाए, एएसएल पृष्ठभूमि में चल रही एक मूल सेवा का उपयोग करता है, जो प्रति डिवाइस बूट के बाद एंड्रॉइड डीबग ब्रिज (एडीबी) के माध्यम से शुरू होता है।
आपका उत्तर मेरे लिए बहुत उपयोगी है, लेकिन जब मैं इस पुस्तकालय का उपयोग करता हूं तो यह मुझे एक टोस्ट दिखा रहा है "मूल सेवा नहीं मिली"। यदि आपको ऐसा कोई समस्या आती है तो कृपया मेरी मदद करें। धन्यवाद –
"मेरे लिए मूल सेवा नहीं मिली" .... मैं यहाँ क्या खो रहा हूं? –
मुझे लगता है कि स्क्रीन कैप्चर के लिए adb कमांड का उपयोग करके किटकैट में यह संभव है। पर आप वीडियो
adb shell screenrecord /sdcard/demo.mp4
के रूप में रिकॉर्ड स्क्रीन करने के लिए इस आदेश का उपयोग कर सकते हैं आप अधिक विवरण here
पा सकते हैं आप अपने अनुप्रयोग से ADB आदेश पर अमल कर सकते हैं। चेक जवाब here
नहीं। निष्पादन के बाद: getRuntime()। Exec() विधि पर 'स्क्रीनरेकॉर्ड --verbose --time-limit 5 /sdcard/recvid.mp4' ... प्रक्रिया चलती है, हालांकि मुझे त्रुटि मिलती है: "अनुमति अस्वीकार: प्रसारण उपयोगकर्ता -1 के रूप में चलाने के लिए कहा जाता है लेकिन उपयोगकर्ता 0 से कॉल कर रहा है; इसके लिए android.permission.INTERACt_ACROSS_USERS_FULL की आवश्यकता है .. "हालांकि मैं 'स्क्रीनरेकॉर्ड --help' चलाने में सक्षम हूं बस ठीक है! – giannileuani
VNC प्रकार दूरस्थ सहने के लिए मौजूद है "कुछ" android उपकरणों (मुख्य रूप से सैमसंग):
TeamViewer QuickSupport
https://play.google.com/store/apps/details?id=com.teamviewer.quicksupport.market
डॉस किसी को भी कैसे कि उपकरण स्क्रीन कैप्चरिंग हो जाता है जानता है , और यह केवल उपकरणों के सीमित सेट का समर्थन क्यों करता है?
.. .. onClick में रख
Bitmap bitmap = takeScreenshot();
saveBitmap(bitmap);
और funtcion लिखने
public Bitmap takeScreenshot() {
View rootView = findViewById(android.R.id.content).getRootView();
rootView.setDrawingCacheEnabled(true);
return rootView.getDrawingCache();
}
public void saveBitmap(Bitmap bitmap) {
File imagePath = new File(Environment.getExternalStorageDirectory() + "/screenshot.png");
FileOutputStream fos;
try {
fos = new FileOutputStream(imagePath);
bitmap.compress(CompressFormat.PNG, 100, fos);
fos.flush();
fos.close();
} catch (FileNotFoundException e) {
Log.e("GREC", e.getMessage(), e);
} catch (IOException e) {
Log.e("GREC", e.getMessage(), e);
}
}
- 1. विंडोज़ मोबाइल 6.0 डिवाइस
- 2. JQuery मोबाइल डिवाइस स्केलिंग
- 3. होवर और मोबाइल डिवाइस पर ईवेंट पर क्लिक करें
- 4. मोबाइल डिवाइस से सर्वर पर मजबूत फ़ाइल स्थानांतरण
- 5. मोबाइल डिवाइस पर कैनवास और वेबजीएल (तीन.जेएस) का समर्थन?
- 6. मैं मोबाइल डिवाइस पर वेबसाइट डिज़ाइन का परीक्षण कैसे करूं?
- 7. केवल आईपैड (या सर्वोत्तम 1024x768 मोबाइल डिवाइस पर)
- 8. मोबाइल डिवाइस का पता लगाएं - और टैबलेट डिवाइस
- 9. मोबाइल डिवाइस को गैर मोबाइल डिवाइस के रूप में पहचाना जाता है
- 10. एंड्रॉइड डिवाइस पर प्रोग्रामेटिक रूप से स्विच करें
- 11. मोबाइल पर iframe समर्थन
- 12. डब्ल्यूसीएफ बनाम वेबएपीआई और मूल मोबाइल डिवाइस
- 13. मोबाइल डिवाइस के लिए फोर्स न्यूमेरिक कीबोर्ड
- 14. विंडोज मोबाइल डिवाइस एमुलेटर - कस्टम रिज़ॉल्यूशन
- 15. मोबाइल डिवाइस में स्टैकट्रैक कैसे प्राप्त करें?
- 16. आईफोन एंटरपेज परिनियोजन: मोबाइल डिवाइस प्रबंधन
- 17. फोनगैप/JQuery मोबाइल में डिवाइस-चौड़ाई को प्रोग्रामेटिक रूप से कैसे ढूंढें
- 18. jQuery मोबाइल और फोनगैप डिवाइस रीडी()
- 19. वास्तविक डिवाइस से मोबाइल नंबर प्राप्त करें
- 20. मोबाइल डिवाइस का सबसे सटीक जीपीएस स्थान
- 21. एंड्रॉइड 2.2: रीबूट डिवाइस प्रोग्रामेटिक रूप से
- 22. डिवाइस का फ़ोन नंबर प्रोग्रामेटिक रूप से
- 23. स्प्रिंग मोबाइल: प्रोग्रामवेबअर्ग्यूमेंट रीसोल्वर प्रोग्रामेटिक रूप से कैसे जोड़ें?
- 24. आईओएस डिवाइस पर वीडियो कैप्चर करें और उसे सर्वर (या किसी अन्य मोबाइल) पर स्ट्रीम करें
- 25. मोबाइल वेब पर पिंच ज़ूम अक्षम करें
- 26. विभिन्न मोबाइल डिवाइस में एक्सेलेरोमीटर और जीरो सटीकता
- 27. का पता लगा रहा है, तो कुंजी मोबाइल डिवाइस
- 28. वेब ऐप्स मोबाइल डिवाइस के स्थान से कैसे पूछते हैं?
- 29. मोबाइल पर jsfiddle विकल्प?
- 30. मोबाइल डिवाइस जावास्क्रिप्ट/सीएसएस समर्थन। वहां क्या है
धन्यवाद, यह मैं अभी क्या जरूरत है!मुझे एक ही समस्या थी, लेकिन मैं केवल अपने ऐप का बिटमैप चाहता था, ओएस यूआई आदि नहीं –