2013-06-19 7 views
7

मुझे इरादे के माध्यम से ट्विटर शेयर में कोई समस्या है।एंड्रॉइड ट्विटर डिफ़ॉल्ट शेयर-फोर्स बंद

मैंने इरादे के माध्यम से एक ट्विटर ऐप खोला, एक बार जब मैं लॉगिन बटन पर क्लिक करता हूं तो बल बंद हो जाता है। मुझे त्रुटि रिपोर्ट नहीं मिलती।

क्या ट्विटर एंड्रॉइड में डिफ़ॉल्ट शेयर सख्त है? या उनके एसडीके का उपयोग करने की जरूरत है।

यह डिफ़ॉल्ट चहचहाना के लिए मेरे कोड यू लोग किसी भी विचार मुझे पता है share.can है ...

कोशिश

{

Intent shareIntent = ShareCompat.IntentBuilder 
    .from(Activity.this).setType("text/plain") 
    .setText("Shopup" + review).getIntent() 
    .setPackage("com.twitter.android"); 
    startActivity(shareIntent); 

    } catch (Exception e) 
    { 
    // TODO: handle exception 
     Toast.makeText(Activity.this, "Need twitter application", 
              Toast.LENGTH_SHORT).show(); 

    } 

उत्तर

2

यह है कि मैं क्या साथ सामग्री साझा करने के लिए क्या है ट्विटर: उपयोगकर्ता ट्विटर क्षुधा है

tweetButton.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 
      initShareIntentTwi("twi"); 
     } 
    }); 

private void initShareIntentTwi(String type) { 
    boolean found = false; 
    Intent share = new Intent(android.content.Intent.ACTION_SEND); 
    share.setType("text/plain"); 

    // gets the list of intents that can be loaded. 
    List<ResolveInfo> resInfo = getPackageManager().queryIntentActivities(
      share, 0); 
    if (!resInfo.isEmpty()) { 
     for (ResolveInfo info : resInfo) { 
      if (info.activityInfo.packageName.toLowerCase().contains(type) 
        || info.activityInfo.name.toLowerCase().contains(type)) { 
       share.putExtra(Intent.EXTRA_TEXT, title + " " 
         + shorturl); 
       share.setPackage(info.activityInfo.packageName); 
       found = true; 
       break; 
      } 
     } 
     if (!found) { 
      AlertDialog.Builder builder = new AlertDialog.Builder(this); 
      builder.setTitle("Twitter"); 

      LinearLayout wrapper = new LinearLayout(this); 
      WebView webView = new WebView(this); 
      EditText keyboardHack = new EditText(this); 

      keyboardHack.setVisibility(View.GONE); 

      webView.loadUrl("https://twitter.com/intent/tweet?status=" 
        + titulo + "%20" + shorturl); 

      webView.setWebViewClient(new WebViewClient() { 
       @Override 
       public boolean shouldOverrideUrlLoading(WebView view, 
         String url) { 
        view.loadUrl(url); 
        return true; 
       } 
      }); 

      wrapper.setOrientation(LinearLayout.VERTICAL); 
      wrapper.addView(webView, 
        LinearLayout.LayoutParams.MATCH_PARENT, 
        LinearLayout.LayoutParams.MATCH_PARENT); 
      wrapper.addView(keyboardHack, 
        LinearLayout.LayoutParams.MATCH_PARENT, 
        LinearLayout.LayoutParams.WRAP_CONTENT); 

      builder.setView(wrapper); 

      builder.setNegativeButton("Close", 
        new DialogInterface.OnClickListener() { 
         @Override 
         public void onClick(DialogInterface dialog, int id) { 
         } 
        }); 

      builder.create().show(); 

      return; 
     } 
     startActivity(Intent.createChooser(share, "Select")); 
    } 
} 

, तो यह इसे खुल जाएगा और यदि नहीं कहीं भी होगी इसमें एक वेबव्यू के साथ एक चेतावनी संवाद खोलें: "https://twitter.com/intent/tweet?status=" प्लस वह पाठ जिसे आप साझा करना चाहते हैं। यदि आप चाहें तो आप इस भाग को अनदेखा कर सकते हैं और ऐप या कुछ ऐसा पूछने के लिए बस एक अलर्ट संवाद दिखाएं।

+1

आपकी प्रतिक्रिया के लिए धन्यवाद, मैंने डिफ़ॉल्ट ट्विटर साझा करने के लिए अपना रास्ता बहुत अच्छा काम किया है ... –

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