android - 如何从我的 Android 应用程序中直接撰写推文?
问题描述
我在 android 应用程序上创建了。我需要使用我自己的 twitter 登录凭据从我的 android 应用程序直接向我的 Twitter 帐户发布推文。我已经在 Twitter 上注册并获得了消费者密钥和消费者密钥。有了这个,我希望我的应用程序应该授权我的 Twitter 帐户,并且我应该能够以编程方式发布推文而没有任何弹出窗口。问候库纳尔
解决方案
解决方案是为 Tweeting 创建一个Custom Webview
。它甚至不需要 Fabric Twitter API。
1 - 创建一个 Webview 活动:
public class TweetCustomWebView extends AppCompatActivity {
android.webkit.WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webview_activity);
Bundle extras = getIntent().getExtras();
if (extras != null) {
final String stringToShow = extras.getString("tweettext");
webView = (android.webkit.WebView) findViewById(R.id.wv);
webView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(android.webkit.WebView view, String url) {
if (url.contains("latest_status_id=")) {
// Twitted
setResult(Activity.RESULT_OK, new Intent());
TweetCustomWebView.this.finish();
}
view.loadUrl(url);
return true;
}
public void onPageFinished(android.webkit.WebView view, String url) {
// Finished loading url
}
public void onReceivedError(android.webkit.WebView view, int errorCode, String description, String failingUrl) {
Log.e("", "Error: " + description);
setResult(Activity.RESULT_CANCELED, new Intent());
}
});
webView.loadUrl("https://twitter.com/intent/tweet?text=" + stringToShow);
}
}
@Override
public void onBackPressed() {
super.onBackPressed();
setResult(Activity.RESULT_CANCELED, new Intent());
}}
2 - 像这样的布局:
<WebView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/wv"/>
3 - 在AndroidManifest.xml
我们必须为我们的标签webview
内添加活动:<application>
<activity android:name=".TweetCustomWebView" />
4 - 最后一步是当用户点击 Share on Twitter 按钮时调用我们的 webview:
Intent intent = new Intent(MainActivity.this, TweetCustomWebView.class);
intent.putExtra("tweettext", "Text to tweet");
startActivityForResult(intent, 100);
或者您可以使用Account Activity API进行自定义推文。
应该是这样的。我希望这将有所帮助。
推荐阅读
- eclipse - eclipse 2019-06中的数据库连接
- clojure - 在 Clojure 中不能需要 core.async
- c# - 在模板文件的同一文件夹中包含 T4 生成的文件
- python - 如何制作一个虚拟的无操作 @jit 装饰器?
- xamarin.forms - 在 Xamarin 表单中处理缓慢的页面加载时间
- c# - Pop_Up 模态验证
- jenkins - 无法解析类 XmlParser.parseText
- c++ - 如果指针在 C++ 中为 NULL,则修改它
- android - 无法从 Api 调用中获得响应,它返回 Forbidden 错误
- kotlin - 在单个函数中从多个类中导入成员以构建 kotlin dsl