【发布时间】:2013-08-01 16:21:46
【问题描述】:
我是 android 中 twitter 集成的新手。我使用这个tutorial.将twitter集成到android应用程序中,我遇到了一些问题。
- 如果我从清单中删除了 targetversion,我的应用程序只会从 ICS 执行。为什么?
在这里,我从清单文件中删除了 android:targetSdkVersion="15"。
现在,
2.在 twitter 的开发者控制台中,我将我的应用程序的回调 url 设置为“https://www.google.co.in/”,然后我尝试在我们的代码中使用这个回调 url 运行这个应用程序。实际上在成功登录后,它应该重定向到应用程序,但在这里它会重定向到回调 url(这里指的是谷歌控制台)。
静态最终字符串 TWITTER_CALLBACK_URL = "https://www.google.co.in/";
但是在这里我在我们的代码中设置了以下回调 url,然后它就可以正常工作了。为什么?它是 twitter4j 中的默认回调 url。请任何人都可以帮助我。
静态最终字符串 TWITTER_CALLBACK_URL = "oauth://t4jsample";
清单文件
< manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.androidhive.twitterconnect"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<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="oauth" android:host="t4jsample"/>
</intent-filter>
</activity>
</application>
<!-- Permission - Internet Connect -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- Network State Permissions -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
< /manifest>
【问题讨论】:
-
您的清单是如何定义的?专门针对处理授权的 Activity。
-
@IceMAN:我用清单文件代码更新了帖子。请参考这里。
-
为什么需要从 Manifest 中删除 android:targetSdkVersion?
-
@rineez:以前我将长时间运行的操作放在 UI 线程中,所以我删除了 android:targetSdkVersion。否则不会执行。现在我解决了这个问题。不需要删除 android:targetSdkVersion 而是将需要一些时间的代码放在线程/异步任务中。
-
@naresh 很高兴您终于找到了正确的路径。将长时间运行的操作远离 UI 线程有一个明显的原因。 :)