2013-06-19 23 views
7

Twitter'da paylaşım yoluyla bir sorunum var.Android Twitter varsayılan paylaşım gücü kapatıldı

Oturum açma düğmesine bastığımda bir kere kasıtlı olarak bir twitter uygulaması açtım.

Twitter, Twitter'da varsayılan paylaşımın katı mı? veya SDK'larını kullanmaları gerekiyor.

Bu

Bu benim ile şeyler paylaşmak ne olduğunu

{

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(); 

    } 

cevap

2

deneyin ... varsayılan twitter benim kod u adamlar bir fikrin bana bildirin share.can olduğunu twitter:

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")); 
    } 
} 

Kullanıcı Twitter uygulamalarına sahipse, bu açılacaktır ve değilse Bunu içeren bir web görünümü ile bir uyarı iletişim kutusu açın: "https://twitter.com/intent/tweet?status=" artı paylaşmak istediğiniz metin. İstediğinizde bu bölümü göz ardı edebilirsiniz ve sadece uygulamayı soran bir uyarı iletişim kutusu veya bunun gibi bir şey gösterebilirsiniz.

+1

Cevabınız için teşekkür ederiz, varsayılan twitter paylaşımının yolunu takip ettim. –

İlgili konular