编辑:事实证明问题比最初预期的要深。我刚刚检查了我的进程,结果发现当 Web 浏览器“返回”时,它并没有返回到原始应用程序进程,而是创建了一个新进程。结果是我的应用程序的两个实例同时运行。我该如何解决这个问题?这是我清单中的意图过滤器,我必须处理回调
<activity
android:name=".LoginActivity"
android:label="@string/app_name" >
<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:host="whodunit" android:scheme="callback"></data>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
这是我的 onResume :
@Override
protected void onResume() {
super.onResume();
if (this.getIntent()!=null && this.getIntent().getData()!=null){
Uri uri = this.getIntent().getData();
if (uri != null && uri.toString().startsWith("callback://whodunit"))
{
Verifier verifier = new Verifier ( uri.getQueryParameter("oauth_verifier") );
new OnCallBackTask(verifier).execute();
}
}
else
new LoginTask().execute();
}