私はStartActivityとMainActivityを持っていますが、マニフェストスキームは既に設定されています。アプリが既に起動されている場合、AndroidはURLスキームでオープンアクティビティを開いていない
<activity
android:name=".StartActivity"
android:label="@string/app_name"
android:theme="@style/AppThemeNoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<data android:scheme="myApp" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:launchMode="singleTask"
android:parentActivityName=".StartActivity" />
StartActivity:
public class StartActivity extends InstrumentedActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_start);
if (isLogin) {
Intent intent = new Intent(context, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
}
}
オリジナルのデザインは、ユーザーがブラウザにURLを押した後にオープンStartActivity、あるユーザーがloginedときにMainActivityに行きます。
これは正しく動作します(アプリケーションが強制終了され、ユーザーがURLを押したとき)。 しかし、アプリケーションがバックグラウンド(MainActivity内)にいる間、ユーザーがURLを押すと、StartActivityを通過せず、MainActivityのonResumeだけを通過しました。
誰かがその理由を知っていますか?それがStartActivityに行くことを確認する方法は?ありがとう。
あなたはStartActivityのコードを投稿することができます – Abilash