2011-07-26 6 views
5

मेरे आवेदन के लिए, मैं मुख्य स्क्रीन के अंदर एक twitterfeed प्रदर्शित करता हूं। क्या अच्छा है कि लोग ट्विटर खाते के बिना मेरे देश की ट्रेन कंपनी के बारे में ट्विटर जानकारी का पालन कर सकते हैं।केवल ट्विटर पर जानकारी साझा करने के लिए "इस बटन को ट्वीट करें" बनाना इतना आसान नहीं है

enter image description here

मैं करना चाहते हैं क्या प्रतिक्रिया जब एक आइटम पर उपयोगकर्ता क्लिक करें और फिर उसे उत्तर/आर टी करने की अनुमति है। उपयोगकर्ता एक चहचहाना आवेदन स्थापित नहीं है, तो कुछ भी नहीं होना चाहिए (शायद एक टोस्ट)

मैं इस कार्रवाई करने की कोशिश की:

Intent tweetIntent = new Intent(Intent.ACTION_SEND); 
tweetIntent.putExtra(Intent.EXTRA_TEXT, "Test; please ignore"); 
tweetIntent.setType("application/twitter"); 

लेकिन भी ईमेल, Gmail और अन्य बेकार अनुप्रयोगों को खोलने के लिए लग रहे हैं।

उस सूची को फ़िल्टर और केवल ट्विटर अनुप्रयोगों रखने के लिए एक रास्ता है (ट्विटर, Twydroid, Plume, Twicca, आदि ..)

किसी भी सुझाव के लिए एक बहुत धन्यवाद।

संपादित करें: मेरे वर्तमान वैकल्पिक हल, कि मैं बिल्कुल पसंद नहीं है:

public Intent findTwitterClient() { 
     final String[] twitterApps = { 
       // package // name 
       "com.twitter.android", // official 
       "com.levelup.touiteur", // Plume 
       "com.twidroid", // twidroyd 
       "com.handmark.tweetcaster", // 
       "com.thedeck.android" // }; 
     Intent tweetIntent = new Intent(); 
     tweetIntent.setType("text/plain"); 
     final PackageManager packageManager = getPackageManager(); 
     List<resolveinfo> list = packageManager.queryIntentActivities(
       tweetIntent, PackageManager.MATCH_DEFAULT_ONLY); 

     for (int i = 0; i <twitterApps.length; i++) { 
      for (ResolveInfo resolveInfo : list) { 
       String p = resolveInfo.activityInfo.packageName; 
       if (p != null && p.startsWith(twitterApps[i])) { 
        tweetIntent.setPackage(p); 
        return tweetIntent; 
       } 
      } 
     } 
     return null; 
    } 

उत्तर

1

एंड्रॉयड में कोई आधिकारिक चहचहाना एपीआई नहीं है, मैं अत्यधिक तुम twitter4j की तरह कुछ के साथ अपने स्वयं लागू सुझाव देते हैं।

http://twitter4j.org/en/index.html

आप उपयोगकर्ता आईडी और ट्वीट आईडी पता होना चाहिए, आदि, आदि जब क्लिक, तो आप twitter4j इस तरह उपयोग कर सकते हैं:

Twitter twitter = new TwitterFactory().getInstance(); 
twitter.updateStatus(new StatusUpdate("@USERNAME").inReplyToStatusId(STATUSID)); 

मुझे यकीन है कि अगर आप कर रहे हैं नहीं कर रहा हूँ पहले से ही twitter4j का उपयोग कर रहे हैं या नहीं, यदि आप नहीं हैं तो मैं अत्यधिक सुझाव देता हूं कि आप ट्वीट्स के लिए पूछताछ के रूप में बहुत आसान है।

अगर आपको twitter4j का उपयोग अपने ऐप्लिकेशन के भीतर प्रमाणीकरण की जरूरत है, यह काफी आसान है, लेकिन मैं इसे में नहीं मिलेगा जब से तुम http://twitter4j.org/en/code-examples.html


पर एक प्रमाणीकरण खिड़की, आदि वहाँ एक उदाहरण है पॉपअप करने की आवश्यकता होगी

यदि आप twitter4j मार्ग नहीं जाना चाहते हैं, तो दुर्भाग्य से आपका तरीका एकमात्र तरीका है जिसे मैं जानता हूं। यह जांचने के लिए बस पैकेज प्रबंधक का उपयोग करें कि वे मौजूद हैं या नहीं, अन्यथा उपयोगकर्ता को सूचित करें।

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