2012-08-23 11 views

答えて

6

プラットフォームから別のUIにコピーするのは悪い考えです。

は、私はあなたが共有する意図を使用するrecommand:

http://mobile.tutsplus.com/tutorials/android/android-sdk-implement-a-share-intent/

http://developer.android.com/training/sharing/send.html

それは本当に使いやすいとプラットフォームと統合です。

+1

はい、それは大丈夫ですが、ここで私は意図を発動してtwitterに掲載したくありません。私はtwitter4j sdkを使って自分のアプリにTwitterを統合し、投稿したいと思っています。私はちょうどtwitterがこのダイアログをandroid sdkでも提供してくれることを頼んでいます。これは単なるWebビューです。 –

+0

私は自分のデバイスにツイッターを持っていなければならないが、ユーザーがそのデバイスにツイッターを持っていないとどうなるのだろうかという理由で、インテントを使いたくない。 –

+0

それはいい理由だ。私はこれがsdkによって提供されているとは思わない。しかし、Twitterモバイル版の対応するポストページにあなたのwebviewをリダイレクトするのは簡単だと思います。 – Aerilys

2

あなたがインストールされている場合は、共有インテントからTwitterアプリを見つけることでこれを行うことができますが、その条件を処理することはできません。twitter4jを統合して矛盾の結果。

Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND); 
        shareIntent.setType("text/plain"); 
        shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "subject"); 
        shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, " text"; 

        final PackageManager pm = v.getContext().getPackageManager(); 
        final List<ResolveInfo> activityList = pm.queryIntentActivities(shareIntent, 0); 

        boolean twtchk=false; 

        for (final ResolveInfo app : activityList) { 

         if ("com.twitter.android.PostActivity".equals(app.activityInfo.name)) { 
          final ActivityInfo activity = app.activityInfo; 
          System.out.println("package==="+activity.applicationInfo.packageName); 
          final ComponentName name = new ComponentName(activity.applicationInfo.packageName, activity.name); 
          shareIntent.addCategory(Intent.CATEGORY_LAUNCHER); 
          shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); 
          shareIntent.setComponent(name); 
          v.getContext().startActivity(shareIntent); 
          twtchk=true; 
          break; 
         } 


        } 

        if(!twtchk) 
        { 
         Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://twitter.com/yourapp")); 

         startActivity(intent); 
        } 
+0

私が探していたもの。 Twitter PostActivityをターゲットにするより良い方法はありますか? – localhost

1

xmlでこのビューを作成して使用します。 hereはtwitter4jを使用してtwitterで文字列を投稿するためのチュートリアルです

関連する問題