Как поделиться изображением в твиттере? - PullRequest
1 голос
/ 03 марта 2012

Я хочу создать одно приложение, которое делится изображением в твиттере.
Но когда я нажимаю на кнопку, появляется сообщение «ни одно приложение не выполняет это действие».
что-то не так в следующем коде?

private void share()
    {
    // TODO Auto-generated method stub
        Intent tweetIntent = new Intent(Intent.ACTION_SEND);
        tweetIntent.setType("application/twitter");
        tweetIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Test; please ignore");

        startActivity(Intent.createChooser(tweetIntent, "Choose one"));

    }

Ответы [ 4 ]

1 голос
/ 28 мая 2012

Приложение Twitter должно быть установлено , и, вероятно, чтобы это работало, необходимо, чтобы пользователь активно вошел в систему (большинство пользователей).Я не думаю, что tweetIntent.setType("application/twitter"); работает, я никогда не видел этого.Вы можете ограничить общий доступ к Twitter, отфильтровав его по имени пакета приложения, tweetIntent.setPackage("com.twitter.android");.Вы хотите убедиться, что это доступно вам с помощью PackageManager.Ниже приведен возможный код, который я не проверял.

Intent tweetIntent = new Intent(Intent.ACTION_SEND);
tweetIntent.setPackage("com.twitter.android");
tweetIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Test; please ignore");

PackageManager pm = context.getPackageManager();
if(pm.queryIntentActivities (tweetIntent, 0).size() > 0) { // If there's at least 1 intent that matches then the intent is valid.
  startActivity(Intent.createChooser(tweetIntent, "Choose one"));
} else {
  // Not supported.
}

Цель совместного использования Android предназначена для отправки данных для совместного использования в другие приложения.Вполне возможно, что вы можете ограничить общий доступ к конкретному приложению, как вы делаете.Но вы идете вразрез с тем, как работает Android, и вы открываете себя для проблем несовместимости, делая это.Возможно, вам лучше использовать Twitter API напрямую.

Обоснование состоит в том, что если у пользователя не установлен Twitter, то, скорее всего, его это не волнует.Но они могут захотеть поделиться контентом в другом сервисе, таком как Facebook.

0 голосов
/ 15 июня 2016

Вы также можете использовать TweetComposer.Вы можете проверить это: рабочий пример с Tweet Composer Kit

Из документации Twitter:

TweetComposer Kit предоставляет два способа составления твитов:

  1. Запустите приложение Tweet Composer приложения Twitter - многофункциональный композитор, который поддерживает подключение изображений и видео.
  2. Запустите приложение App Card Twitter Kit Composer - облегченный композитор, который позволяет пользователям создавать твиты с помощью карт приложений.из вашего приложения.

Если приложение Twitter не установлено, намерение запустит twitter.com в браузере, но указанное изображение будет проигнорировано.

Если это соответствует вашим потребностям, это может быть альтернативным решением.Удачи!

0 голосов
/ 20 марта 2013

После поиска я обнаружил, что вы должны войти в твиттер и создать приложение, а затем щебетать сгенерирует четыре параметра: consumer_key, consumer_key_secret, access_token, access_token_secret.С секретом вы можете сделать это:

Configuration conf = new ConfigurationBuilder().setMediaProviderAPIKey(config.getMediaProvider())
                        .setOAuthConsumerKey("...")
                        .setOAuthConsumerSecret(""...)
                        .setOAuthAccessToken("...")
                        .setOAuthAccessTokenSecret("...")
                        .build();
ImageUpload uploader = new ImageUploadFactory(conf).getInstance();

Затем вы можете использовать загрузчик для загрузки вашего сообщения.

0 голосов
/ 28 мая 2012

попробуйте twitpic api чтобы поделиться изображением в твиттере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...