0

Twitter のステータスに画像とテキストを投稿しようとしていますが、見つかったすべてのチュートリアルが機能しません。一人一人が「ログインに失敗しました」と言っています。これはばかげている。誰かが私を助けたり、正しい方向に向けたりできますか? 提案をお願いします。

PS - 正しいシークレットとキーを追加しました。

編集

私は既存のアプリを使用していますが、機能を実装する良い方法が何であるかを確認できるように、それを機能させようとしています。このリンクで github からプロジェクトをダウンロードしました。

4

1 に答える 1

0

次のコードを使用しました。

private void shareOnTwitter() {
        try{
        Intent shareIntent = findTwitterClient(); 
        shareIntent.putExtra(Intent.EXTRA_TEXT, "added an item to iCollect(Android)! " + strMake + " " + strModel);
        startActivity(Intent.createChooser(shareIntent, "Share"));
        }catch(NullPointerException e){
            Toast.makeText(context, "Twitter app not found", Toast.LENGTH_SHORT).show();
        }
    }

public Intent findTwitterClient() {
        final String[] twitterApps = {
                // package // name - nb installs (thousands)
                "com.twitter.android", // official - 10 000
                "com.twidroid", // twidroid - 5 000
                "com.handmark.tweetcaster", // Tweecaster - 5 000
                "com.thedeck.android" }; // TweetDeck - 5 000 };
        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;

    }

すべてのパッケージ名が揃っていないと問題になりますが、現時点では十分です。

于 2013-09-20T12:08:47.410 に答える