Share video on twitter via android app

孤人 提交于 2019-12-07 14:19:25

问题


I successfully shared text/img on twitter with my android application, but now I've need to share VIDEO on Twitter via my app. Is there any possible lib to achieve that? Any suggestions on how to share video on twitter via my application are welcome.

PS: A link to some tutorial would be great.


回答1:


Improvising the AndroidEnthusiastic's answer,below is working code for Sharing video on twitter via android app

File f=new File(filepath);
Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
shareIntent.setType("video/*");
shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(f));
final PackageManager pm = getActivity().getApplicationContext().getPackageManager();
final List<ResolveInfo> activityList = pm.queryIntentActivities(shareIntent, 0);

for (final ResolveInfo app : activityList) {

   if("com.twitter.android.composer.ComposerActivity".equals(app.activityInfo.name))        
    {

        final ActivityInfo activity = app.activityInfo;
        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);
        getActivity().getApplicationContext().startActivity(shareIntent);
        break;
    }


 }

where filepath is the path of video stored in device storage like "/storage/emulated/0/Videos/VID_20151011_115238.mp4"




回答2:


it's working code. please go through it.

    Button b;
    String path="video path";
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Button button=(Button)findViewById(R.id.button1);
    button.setOnClickListener(new View.OnClickListener() {
      public void onClick(View v) {
        Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
        shareIntent.setType("image/*");
        shareIntent.putExtra(android.content.Intent.EXTRA_TEXT,path);
        final PackageManager pm = v.getContext().getPackageManager();
        final List<ResolveInfo> activityList = pm.queryIntentActivities(shareIntent, 0);
        for (final ResolveInfo app : activityList) {
          if ("com.twitter.android.PostActivity".equals(app.activityInfo.name)) {
            final ActivityInfo activity = app.activityInfo;
            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);
            break;
          }
        }
      }
    });

android manifest

             <intent-filter>
             <action android:name="android.intent.action.MAIN" />
            <data android:mimeType="image/*" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>


来源:https://stackoverflow.com/questions/14972368/share-video-on-twitter-via-android-app

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!