2017-04-27 9 views
11

मैं अपने ऐप से डेटा को अन्य ऐप जैसे एसएमएस या किसी अन्य ऐप में साझा करने की कोशिश कर रहा हूं। मेरे पास एक ऐप है जहां मुझे एसएमएस या एफबी मैसेंजर जैसे ऐप्स को कुछ डेटा भेजने या साझा करने की आवश्यकता है। के माध्यम से मैं एप्लिकेशन खुल जाएगा और इस कोड का उपयोग पाठ बॉक्स में डेटा जोड़ सकते हैं this लिंक का उपयोग करना: मैं अन्य एप्लिकेशन को खोलने और पाठ क्षेत्र मेरा सवाल यह है कि में मूल्य जोड़ सकते हैं इस एप्लिकेशन का उपयोग करनाAndroid पर अन्य ऐप्स में डेटा साझाकरण में क्लिक या ईवेंट को ट्रिगर कैसे करें?

Intent sendIntent = new Intent(); 
    sendIntent.setPackage("com.sms or fb"); 
    sendIntent.setAction(Intent.ACTION_SEND); 
    sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send."); 
    sendIntent.setType("text/plain"); 
    startActivity(sendIntent); 

वहाँ किसी भी तरह से है जिसके द्वारा मैं एसएमएस फेसबुक जैसे अन्य ऐप को स्वचालित संदेश भेजने के लिए क्लिक या ईवेंट भेज सकता हूं। यदि ऐसा है तो मैंने Google ऐप को कैसे देखा है जहां मैंने अपनी आवाज का उपयोग मेरे व्हाट्सएप संपर्क में हाय भेजने के लिए किया था, इसलिए यह तरीका है कि Google ऐप संदेश भेज सकता है और मेरी आवाज का उपयोग करके ईवेंट ट्रिगर कर सकता है। मेरा सवाल यह है कि मैं अपने एंड्रॉइड कोड का उपयोग करके ईवेंट को कैसे भेज सकता हूं। यदि रूट सिस्टम बाहर है तो मैं इसका भी उपयोग कर सकता हूं।

कोई भी जवाब जो भी मैं हल करना चाहता हूं उसके करीब भी कोई जवाब बक्षीस के योग्य नहीं है।

+0

"मुझे पता है कि जब आप Google ऐप वॉयस कमांड का उपयोग करते हैं तो वे ऐप खोल सकते हैं और बिना क्लिक किए संदेश भेज सकते हैं" - ऐसा इसलिए है क्योंकि व्हाट्सएप Google की वॉयस कमांड सिस्टम के साथ एकीकृत है। – CommonsWare

+0

आप मुझे बताते हैं कि कौन सा ऐप एकीकृत है और कौन नहीं है। और यदि आप जानते हैं कि मुझे कैसे बताना है तो मैं इसे प्रोग्रामेटिक रूप से कर सकता हूं। –

उत्तर

1

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

+0

मैं कह रहा हूं कि Google ऐप ऐप कैसे खोलता है और व्हाट्सएप या वीचैट पर एक भेजें बटन पर क्लिक करें, मैं ऐप खोल सकता हूं और उपरोक्त कोड के साथ टेक्स्ट डाल सकता हूं। मैं ऐप खोल सकता हूं और टेक्स्ट डाल सकता हूं कि कैसे ट्रिगर क्लिक घटना। –

+0

जैसा कि मैंने कहा, उपयोगकर्ता इंटरैक्शन को अनुकरण करने के लिए कोई सार्वजनिक साधन नहीं है, यानी एक क्लिक इवेंट – Thomas

+0

ट्रिगर करने के लिए यदि मेरा डिवाइस रूट है तो यह संभव है –

1

जैसा कि @ थॉमस सुझाव देता है। दूसरे को बताने के लिए कोई आधिकारिक तरीका नहीं है कि क्या करना है। Google ऐप के लिए तीसरे ऐप्स Google से अपने ऐप में एक विशेष कार्रवाई करने के लिए अपने Intent का पर्दाफाश करते हैं। शायद आप यह पता लगा सकते हैं कि यह कैसे करता है।

लेकिन कुछ संभावित समाधान हैं जैसे ऐपको तृतीय पक्ष ऐप से कार्रवाई को ट्रिगर करने के लिए।

1

मुझे लगता है कि आपको उस इरादे को कैप्चर करने की आवश्यकता है जो Google वॉयस ऐप व्हाट्सएप/फेसबुक ऐप पर फायरिंग कर रहा है और अपने ऐप से उसी इरादे का उपयोग कर रहा है। यह जांचने के लिए कि कौन से इरादों को निकाल दिया जा रहा है adb logcat -b ईवेंट।

हालांकि मुझे लगता है कि अगर आप उसी इरादे को आग लगाते हैं तो प्राप्तकर्ता ऐप में सुरक्षा जांच इसे करने से रोक सकती है।

आपको यह जांचने की ज़रूरत है कि फेसबुक/व्हाट्सएप सार्वजनिक रूप से उपलब्ध है या नहीं। अगर यह संभव नहीं है।

अन्य दृष्टिकोण- अन्य ऐप्स बटन पर क्लिक करने के लिए Uiautomator का उपयोग करें। लेकिन यह लागू करने में मुश्किल है क्योंकि आपको एक अलग ऐप की आवश्यकता हो सकती है जो ईवेंट के लिए सुनती है और स्वचालन कोड ट्रिगर करती है।

1

मुझे नहीं पता कि यह काम करता है लेकिन एक एसएमएसबटलर ऐप है जो रिसीविड एसएमएस पर स्वचालित उत्तर देता है। अच्छी बात यह है कि ऐप ओपनसोर्स है और आप इस Github post से कोड डाउनलोड कर सकते हैं।

मैं नहीं आप अपने Whatsapp समस्या के बारे में जवाब दे, लेकिन मैं कोड का विश्लेषण किया और मैं इस विधि वहाँ से बाहर हो गया कर सकते हैं:

स्वत: एक एसएमएस संदेश भेजने के लिए आपको पहले एक SMSManager

बनाने की आवश्यकता
SmsManager sms = SmsManager.getDefault(); 

और फिर बस एक पाठ संदेश भेजने

sms.sendTextMessage(destinationAddress, scAddress, text, sentIntent, deliveryIntent); 

पैरामीटर:

  • destinationAddress
  • scAddress को संदेश भेजने के लिए पता सेवा केन्द्र का पता या वर्तमान डिफ़ॉल्ट एसएमएससी
  • text उपयोग करने के लिए अशक्त संदेश के मुख्य भाग
  • sentIntent भेजने के लिए अगर यह रिक्त नहीं है PendingIntent प्रसारित होता है जब संदेश सफलतापूर्वक भेजा जाता है, या विफल हो जाता है।
  • deliveryIntent यदि यह PendingIntent नहीं है तो संदेश प्राप्तकर्ता को संदेश वितरित होने पर प्रसारित किया जाता है। स्थिति रिपोर्ट का कच्चा पीडीई विस्तारित डेटा ("pdu") में है।

महत्वपूर्ण: इस विधि के उपयोग की आवश्यकता है कि अपने अनुप्रयोग android.Manifest.permission_SEND_SMS की अनुमति है।

नोट: इस कक्षा के अन्य तरीके भी हैं जहां आप उदाहरण के लिए छवियां या अन्य सामग्री भेज सकते हैं।

1

आईएफटीटीटी नामक एक साइट/ऐप है (यदि यह तब है) जो अन्य sservices को नियंत्रित कर सकता है और आपको अलर्ट/ईमेल/आदि भेज सकता है। लिंक: https://ifttt.com/

0

आधिकारिक एंड्रॉयड प्रशिक्षण (नीचे सूचीबद्ध) का पालन करें: https://developer.android.com/training/building-content-sharing.html

अन्य एप्लिकेशन के लिए सरल डाटा भेजा जा रहा है: https://developer.android.com/training/sharing/send.html

से सरल डेटा प्राप्त

बिल्डिंग सामग्री शेयरिंग वाले ऐप्स अन्य ऐप्स: https://developer.android.com/training/sharing/receive.html

1

यदि आप चाहते हैं कि अन्य ऐप्स आपके ऐप्स में ईवेंट ट्रिगर करें , एक सामान्य तरीके में दो कदम शामिल हैं:।

  1. आपके ऐप को एंड्रॉइड तरीके के बाद एपीआई प्रदान करने की आवश्यकता है।

  2. अन्य ऐप्स उपर्युक्त एपीआई का उपभोग करके आपके ऐप से बातचीत करते हैं।

एपीआई का प्रकार और इसका कार्यान्वयन ऐप डेटा और फ़ंक्शन पर निर्भर करता है।उदाहरण के लिए, आप एपीआई प्रदान करने के लिए सामग्री प्रदाता, इरादा और प्रसारण का उपयोग करने पर विचार कर सकते हैं।

1

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

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