Partage d'Android sur Twitter

Comment puis-je partager un message de chaîne sur Twitter? Je voudrais laisser l'utilisateur choisir entre plusieurs messages de chaîne et cliquer sur un pour le partager via Twitter.

  • Android: Facebook obtient "Token d'accès utilisateur", lors d'une connexion réussie
  • Android Facebook SDK: générer un hachage de clé de publication
  • Java.lang.RuntimeException avec l'exemple de connexion Facebook
  • Envoyer un fichier PDF sous forme d'application Mail ou offert pour afficher directement le fichier
  • Android: comment personnaliser-déclarer l'espace de noms XML dans styles.xml?
  • Facebook, android java.lang.IllegalStateException: Impossible d'exécuter la tâche: la tâche est déjà en cours d'exécution
  • 3 Solutions collect form web for “Partage d'Android sur Twitter”

    Il existe un certain nombre de façons de mettre en œuvre ceci. On peut simplement ouvrir http://twitter.com et partager des tweets dans une seule intention, comme …

    Intent tweet = new Intent(Intent.ACTION_VIEW); tweet.setData(Uri.parse("http://twitter.com/?status=" + Uri.encode(message)));//where message is your string message startActivity(tweet); 

    Ou,

     Intent tweet = new Intent(Intent.ACTION_SEND); tweet.putExtra(Intent.EXTRA_TEXT, "Sample test for Twitter."); startActivity(Intent.createChooser(share, "Share this via")); 

    Ou,

     String tweetUrl = "https://twitter.com/intent/tweet?text=WRITE YOUR MESSAGE HERE &url=" + "https://www.google.com"; Uri uri = Uri.parse(tweetUrl); startActivity(new Intent(Intent.ACTION_VIEW, uri)); 

    Pour partager via Twitter, j'utilise ma propre fonction statique personnalisée dans une classe Util comme:

     public class Util { public static Intent getTwitterIntent(Context ctx, String shareText) { Intent shareIntent; if(doesPackageExist(ctx, "com.twitter.android")) { shareIntent = new Intent(Intent.ACTION_SEND); shareIntent.setClassName("com.twitter.android", "com.twitter.android.PostActivity"); shareIntent.setType("text/*"); shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareText); return shareIntent; } else { String tweetUrl = "https://twitter.com/intent/tweet?text=" + shareText; Uri uri = Uri.parse(tweetUrl); shareIntent = new Intent(Intent.ACTION_VIEW, uri); return shareIntent; } } } 

    L'avantage de cette fonction est que si l'application Twitter est installée, elle l'utilise, sinon elle utilise la page Twitter basée sur le Web. Le texte qui sera tweeté est transmis à la fonction.

    Dans votre scénario, lorsque l'utilisateur a choisi un choix de messages, passez le message sélectionné dans la fonction. Il vous ramènera alors une intention que vous pouvez connecter à la fonction startActivity ():

     startActivity(Util.getTwitterIntent(context, "Text that will be tweeted")); 

    Vous pouvez utiliser la bibliothèque Twitter4J . Téléchargez-le et ajoutez-le au chemin d'accès de java. Exemples de code:

    • Ajout d'un nouveau tweet:

      Twitter twitter = TwitterFactory.getSingleton();

      Status status = twitter.updateStatus(latestStatus);

    • Connectez-vous en utilisant OAuth (code pour Java, éditez-le):

       Twitter twitter = TwitterFactory.getSingleton(); twitter.setOAuthConsumer("[consumer key]", "[consumer secret]"); RequestToken requestToken = twitter.getOAuthRequestToken(); AccessToken accessToken = null; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); while (null == accessToken) { System.out.println("Open the following URL and grant access to your account:"); System.out.println(requestToken.getAuthorizationURL()); System.out.print("Enter the PIN(if aviailable) or just hit enter.[PIN]:"); String pin = br.readLine(); try{ if(pin.length() > 0){ accessToken = twitter.getOAuthAccessToken(requestToken, pin); }else{ accessToken = twitter.getOAuthAccessToken(); } } catch (TwitterException te) { if(401 == te.getStatusCode()){ System.out.println("Unable to get the access token."); }else{ te.printStackTrace(); } } } //persist to the accessToken for future reference. storeAccessToken(twitter.verifyCredentials().getId() , accessToken); Status status = twitter.updateStatus(args[0]); System.out.println("Successfully updated the status to [" + status.getText() + "]."); System.exit(0); 

      }

      private static void storeAccessToken(int useId, AccessToken accessToken){ //store accessToken.getToken() //store accessToken.getTokenSecret() }

      • Obtenir des tweets:

         Twitter twitter = TwitterFactory.getSingleton(); Query query = new Query("source:twitter4j yusukey"); QueryResult result = twitter.search(query); for (Status status : result.getStatuses()) { System.out.println("@" + status.getUser().getScreenName() + ":" + status.getText()); } 
    • Obtenir un calendrier:

        Twitter twitter = TwitterFactory.getSingleton(); List<Status> statuses = twitter.getHomeTimeline(); System.out.println("Showing home timeline."); for (Status status : statuses) { System.out.println(status.getUser().getName() + ":" + status.getText()); } 

    J'espère que j'ai aidé

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.