android-twitter:收到回调但未显示

android-twitter:收到回调但未显示,第1张

概述我试图找出4天为什么我的应用无法正常运行的原因.我的应用程序希望将OAuth与Twitter一起使用(正在运行),并且在回叫时应输入onNewIntent方法.它没有这样做,我不知道为什么.因此,单击twitterbutton将打开一个网页,我可以在其中输入我的凭据.然后,我得到一个屏幕,指出它已成功完成,

我试图找出4天为什么我的应用无法正常运行的原因.

我的应用程序希望将OAuth与Twitter一起使用(正在运行),并且在回叫时应输入onNewIntent方法.它没有这样做,我不知道为什么.

因此,单击twitterbutton将打开一个网页,我可以在其中输入我的凭据.然后,我得到一个屏幕,指出它已成功完成,并且我将被重定向回我的应用程序.我确实回到了我的应用程序,但是从未调用过onNewIntent方法.我在onNewIntend方法的开头放置了一个断点,并启动了调试器.它不止于这种方法!它的确停止了其他方法,因此它不能成为调试器.

在我的日志文件(包括)的底部第三行中,您可以看到它正在启动新的意图.所以…..这是怎么回事?

有人可以解释一下吗?我很困扰.

这是单击twitterbutton时触发的我的代码:

callBackURL = "myapp://twitactivity";httpOauthConsumer = new CommonshttpOAuthConsumer(consKey, consSec);httpOauthProvIDer = new DefaultOAuthProvIDer("http://twitter.com/oauth/request_token","http://twitter.com/oauth/access_token", "http://twitter.com/oauth/authorize");String authUrl = httpOauthProvIDer.retrIEveRequestToken(httpOauthConsumer, callBackURL);startActivity(new Intent(Intent.ACTION_VIEW,Uri.parse(authUrl)));

这是我的onNewIntent方法的起始代码:

public voID onNewIntent(Intent intent) {    super.onNewIntent(intent);    Log.i("onNewIntent", "Yep success.");    Uri uri = intent.getData();    if(uri != null && uri.toString().startsWith(callBackURL)) {        String verifIEr = uri.getqueryParameter(oauth.signpost.OAuth.OAUTH_VERIFIER);    etc......

我的清单文件中还包含以下内容:

<activity androID:name=".TwitterScreen">    <intent-filter>        <action androID:name="androID.intent.action.VIEW" />        <category androID:name="androID.intent.category.DEFAulT" />        <category androID:name="androID.intent.category.broWSABLE" />        <data androID:scheme="myapp" androID:host="twitactivity" />    </intent-filter></activity>

这就是我在日志文件中看到的:

01-24 10:23:36.064: INFO/ActivityManager(61): displayed activity nl.gemoro.androID.demo/.TwitterScreen: 6660 ms (total 6660 ms)01-24 10:23:38.614: INFO/global(348): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.01-24 10:23:44.025: INFO/ActivityManager(61): Starting activity: Intent { act=androID.intent.action.VIEW dat=http://twitter.com/oauth/authorize?oauth_token=KjCUNMKg13OClyRjQff94QWKfoRBUpNLE2uF9cJkHA cmp=com.androID.browser/.browserActivity }01-24 10:23:44.185: INFO/ActivityManager(61): Start proc com.androID.browser for activity com.androID.browser/.browserActivity: pID=355 uID=10034 gIDs={3003, 1015}01-24 10:23:44.724: INFO/ActivityThread(355): Publishing provIDer browser: com.androID.browser.browserProvIDer01-24 10:23:46.704: INFO/ActivityManager(61): displayed activity com.androID.browser/.browserActivity: 2544 ms (total 2544 ms)01-24 10:23:53.624: WARN/KeyCharacterMap(355): No keyboard for ID 001-24 10:23:53.624: WARN/KeyCharacterMap(355): Using default keymap: /system/usr/keychars/qwerty.kcm.bin01-24 10:23:54.574: DEBUG/dalvikvm(348): GC_EXPliCIT freed 3965 objects / 267064 bytes in 2364ms01-24 10:24:01.064: INFO/ActivityManager(61): Starting activity: Intent { act=androID.intent.action.VIEW cat=[androID.intent.category.broWSABLE] dat=myapp://twitactivity?oauth_token=KjCUNMKg13OClyRjQff94QWKfoRBUpNLE2uF9cJkHA&oauth_verifIEr=41owXswx5TsxHhRyiviFRkRvcpdekm7akRa2IFFM cmp=nl.gemoro.androID.demo/.TwitterScreen }01-24 10:24:02.174: INFO/global(348): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.01-24 10:24:03.594: INFO/ActivityManager(61): displayed activity nl.gemoro.androID.demo/.TwitterScreen: 2412 ms (total 2412 ms)

解决方法:

您必须在onResume()方法中从Twitter服务获取数据.

喜欢

  @OverrIDeprotected voID onResume() {    super.onResume();    Uri uri = getIntent().getData();            Uri CALLBACK_URI = Uri.parse("myapp://twitactivity");        if (uri != null && CALLBACK_URI.getScheme().equals(uri.getScheme())) {                String oauth_token=ri.getqueryParameter("oauth_token");    String oauth_verifIEr= uri.getqueryParameter("oauth_verifIEr");  Intent i = new Intent(this, YourClass.class); // Go to your activity  startActivity(i);                           }

这样您就可以从Twitter获取数据,现在您开始了一个新的Activity

总结

以上是内存溢出为你收集整理的android-twitter:收到回调但未显示全部内容,希望文章能够帮你解决android-twitter:收到回调但未显示所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1092676.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存