1

编辑:事实证明问题比最初预期的要深。我刚刚检查了我的进程,结果发现当 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();

}
4

0 回答 0