我正在使用Twitter的Fabric
分享视频。我不能够在Twitter上分享视频,但现在我只是通过帮助分享图片Fabric
的。{。}
下面是我用于结构集成的代码行
public class MainActivity extends AppCompatActivity {
// Note: Your consumer key and secret should be obfuscated in your source code before shipping.
private static final String TWITTER_KEY = "xxxxxxx";
private static final String TWITTER_SECRET = "xxxxxxxxxxxxxxxxxxxxxxxxx";
private TwitterAuthClient authclient;
private TwitterLoginButton loginButton;
private String selectedImagePath;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET);
Fabric.with(this, new Twitter(authConfig));
setContentView(R.layout.activity_main);
authclient = new TwitterAuthClient();
loginButton = (TwitterLoginButton) findViewById(R.id.twitter_login_button);
loginButton.setCallback(new Callback<TwitterSession>() {
@Override
public void success(Result<TwitterSession> result) {
// The TwitterSession is also available through:
// Twitter.getInstance().core.getSessionManager().getActiveSession()
TwitterSession session = result.data;
// TODO: Remove toast and use the TwitterSession's userID
// with your app's user model
String msg = "@" + session.getUserName() + " logged in! (#" + session.getUserId() + ")";
Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_LONG).show();
}
@Override
public void failure(TwitterException exception) {
Log.d("TwitterKit", "Login with Twitter failure", exception);
}
});
Button share_btn = (Button)findViewById(R.id.share_btn);
share_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Video.Media.EXTERNAL_CONTENT_URI);
intent.setType("video/*");
startActivityForResult(intent, 3);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
try {
if (requestCode == 3) {
Uri selectedImageUri = data.getData();
// OI FILE Manager
selectedImagePath = selectedImageUri.getPath();
// MEDIA GALLERY
selectedImagePath = getPath(selectedImageUri);
System.out.println("Here is the data ==>> " + selectedImagePath+" ");
TweetComposer.Builder builder = new TweetComposer.Builder(MainActivity.this)
.text("")
.image(Uri.parse(selectedImagePath));
builder.show();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
public String getPath(Uri uri) {
String[] projection = {MediaStore.Images.Media.DATA};
Cursor cursor = managedQuery(uri, projection, null, null, null);
if (cursor != null) {
// HERE YOU WILL GET A NULLPOINTER IF CURSOR IS NULL
// THIS CAN BE, IF YOU USED OI FILE MANAGER FOR PICKING THE MEDIA
int column_index = cursor
.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
} else
return null;
}
}
答案 0 :(得分:0)
我已经获得了使用 Twitter Fabrics
上传视频的解决方案
以下是使用Fabric
File myVideoFile = new File("HERE_IS_YOURS_SD_CARD_VIDEO_PATH");
Uri myVideoUri = Uri.fromFile(myVideoFile);
TweetComposer.Builder builder = new TweetComposer.Builder(MainActivity.this)
.text("YOUR_TEXT_MESSAGE") //Here is yours message which you want to send..If u does not require than remove this method
.image(myVideoUri );
builder.show();