我用我的 android 应用程序成功地在 Twitter 上分享了 text/img,但现在我需要通过我的应用程序在 Twitter 上分享 VIDEO。是否有任何可能的库来实现这一目标?欢迎任何关于如何通过我的应用程序在 Twitter 上分享视频的建议。
PS:一些教程的链接会很棒。
我用我的 android 应用程序成功地在 Twitter 上分享了 text/img,但现在我需要通过我的应用程序在 Twitter 上分享 VIDEO。是否有任何可能的库来实现这一目标?欢迎任何关于如何通过我的应用程序在 Twitter 上分享视频的建议。
PS:一些教程的链接会很棒。
即兴发挥 Android 热情的回答,下面是通过 android 应用在 twitter 上分享视频的工作代码
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;
}
}
filepath
存储在设备存储中的视频路径在哪里,例如“ /storage/emulated/0/Videos/VID_20151011_115238.mp4
”
这是工作代码。请通过它。
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;
}
}
}
});
安卓清单
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<data android:mimeType="image/*" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>