お世話になっています。なんどか質問させていただいています。
twitter4jのOauth認証なのですが、Oauth認証画面までいき認証ボタンをおしたあと「この操作を実行できるアプリケーションがありません」とダイアルログがでて、アプリケーションに戻ることができず困っております。
どなたか解決方法をご教授おねがします。
下記ソースコード
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().permitAll().build());
twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(CONSUMER_KEY,CONSUMER_SECRET);
try {
requestToken = twitter.getOAuthRequestToken(CALLBACK_URL);
} catch (TwitterException e) {
finish();
}
String authUrl = requestToken.getAuthorizationURL();
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(authUrl));
startActivity(intent);
}
@Override
public void onNewIntent(Intent intent) {
super.onNewIntent(intent);
Uri uri = intent.getData();
if (uri != null && uri.toString().startsWith(CALLBACK_URL)) {
String verifier = uri.getQueryParameter("oauth_verifier");
if (verifier != null && verifier.length() > 0) {
saveToken(verifier);
}
}
//Preferencesに書き込み後終了。
finish();
}
private void saveToken(String oauthVerifier) {
try {
AccessToken accessToken = twitter.getOAuthAccessToken(requestToken,
oauthVerifier);
SharedPreferences pref = PreferenceManager
.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = pref.edit();
editor.putString(getString(R.string.preference_key_token),
accessToken.getToken());
editor.putString(getString(R.string.preference_key_token_secret),
accessToken.getTokenSecret());
editor.commit();
} catch (TwitterException e) {
e.printStackTrace();
}
}
androidmanifest.xml
<activity android:name=".TwiiterLoginActivity" android:launchMode="singleTask">
<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="test" android:host="twitter" />
</intent-filter>
</activity>