问题
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