大家下午好。我正在学习本教程:
http://www.androidwarriors.com/2015/11/twitter-login-android-studio-example.html
它有这个关联的 GitHub 项目:
https://github.com/androidwarriors/TwitterLoginUsingFabric
当我到达线路时,一切似乎都在工作:
String msg = "@" + session.getUserName() + " logged in! (#" + session.getUserId() + ")";
Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_LONG).show();
TweetComposer.Builder builder = new TweetComposer.Builder(MainActivity.this).text("test tweet 789");
builder.show();
getUserData();
我能够看到 Toast 确认成功登录,然后显然启动了一个隐式 Intent ,手机询问我更喜欢使用哪个浏览器,然后打开该浏览器,其中已经输入了“test tweet 789”和一个发送按钮推文。
问题是,我想直接从我的应用程序发送推文,而不是将浏览器作为单独的应用程序来执行此操作。有没有办法做到这一点?似乎是一个简单的问题,可能只是另一行或两行代码,但我找不到直接适用的示例,请指教。对不起,如果我在这里遗漏了一些简单的东西。
这里记录的是我的整个 onCreate 方法,大部分直接来自上面链接的教程。
///////////////////////////////////////////////////////////////////////////////////////////////
@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);
textView = (TextView) findViewById(R.id.tv_username);
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()
Log.d("Twitter ", "Login sucessfull");
session = result.data;
String username = session.getUserName();
userid = session.getUserId();
textView.setText("Hi " + username);
TwitterAuthToken authToken = session.getAuthToken();
String token = authToken.token;
String secret = authToken.secret;
// 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();
TweetComposer.Builder builder = new TweetComposer.Builder(MainActivity.this).text("test tweet 789");
builder.show();
getUserData();
}
@Override
public void failure(TwitterException exception) {
Log.d("TwitterKit", "Login with Twitter failure", exception);
}
});
}
最佳答案
静默发布推文似乎不是 Fabric SDK 的一部分。你可能想看看 their REST API .
关于Android - 如何直接将推文发布到 Twitter(没有隐式 Intent 或其他应用程序)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38132922/