在我的活動的onNewIntent()方法中,getIntent().getData();
始終爲空。在進入onCreate()
或任何其他生命週期函數之前,它肯定會採用這種方法。它從瀏覽器返回,我不知道爲什麼getIntent().getData()
是空的。Android onNewIntent Uri始終爲空
這個活動開始像這樣context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(requestToken.getAuthenticationURL())));
瀏覽器,在這裏返回
@Override
public void onNewIntent(Intent intent){
super.onNewIntent(intent);
Uri uri = getIntent().getData();
if (uri != null && uri.toString().startsWith(TwitterConstants.CALLBACK_URL)) {...}
}
但URI總是空。
清單內容:
<activity
android:name="myapp.mypackage.TweetFormActivity"
android:configChanges="orientation|keyboardHidden"
android:label="@string/app_name"
android:launchMode="singleInstance"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Black.NoTitleBar">
<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="myapp"/>
</intent-filter>
</activity>
static final String CALLBACK_URL = "oauth://myapp";
我缺少什麼嗎?謝謝
HM,在這裏通過'http:// androidforums.com /介紹/ 218621-twitter4j-OAuth的Android的simple.html'他們不叫setIntent – CQM
沒錯,所以他們使用意圖的說法,而不是getIntent( ) 方法。 – Michael
我認爲這個!謝謝,我在這上面花了很多時間! – CQM