Share video to twitter via Android app
I have successfully shared text / img on twitter with my android app, but now I need to share VIDEO on Twitter via my app. Is there any possible lib to achieve this? Any suggestions for sharing Twitter videos through my app are appreciated.
PS: The link to some kind of tutorial would be great.
+3
source to share
2 answers
Improvising AndroidEnthusiastic's answer , below is a working code for sharing a video on twitter via an 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 the video stored in the device storage, for example " /storage/emulated/0/Videos/VID_20151011_115238.mp4
"
+1
source to share
working code. please go through this.
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>
0
source to share