我有一个包含一项服务和两项 Activity 的应用程序。一个 Activity (主要 Activity )是首选项 Activity ,另一个是对话主题 Activity 。该服务有时只需要打开对话框主题 Activity (使用 FLAG_ACTIVITY_NEW_TASK)。 问题是,当首选项 Activity 在后台打开时(例如,用户按下 HOME 键而不是 BACK,因此 Activity 处于 OnPause 状态)并且服务尝试打开对话框主题 Activity 时,主 Activity 也被打开(进入前景)。 我不想要这个。那么,如何只打开服务中的主题 Activity ,而不弹出主要 Activity ?
Android list .xml
<service android:name=".SimpleService"> </service>
<activity
android:name=".Preferences" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".popup_activity" android:theme="@android:style/Theme.Dialog" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.SAMPLE_CODE" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="screenon.popup.activity" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
来自服务:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addCategory("screenon.popup.activity");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
最佳答案
我相信您正在寻找 android:launchMode属性。
关于android - 只开启一个activity,没有主activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3994464/