我正在为一些营销公司制作应用程序.Aim是在一段时间后向用户展示他们的产品(使用将选择一小时的时间,应用程序将在一小时后显示公司的最新产品)。我提供服务和时间表使用报警管理器和来自报警管理器的被调用活动。活动将有产品信息和关闭按钮
我面临的问题
==>警报管理器在某个随机时间触发服务 ==>活动显示很好,但关闭按钮(我在这里调用完成())。活动仍在活动堆栈中(应删除)
Manifist
<service
android:name=".HelperService"
android:label="Product Service"
android:enabled="true">
</service>
<activity android:label="Product" android:name=".BDriverActivity">
<intent-filter>
<action android:name="android.intent.action.ACTIVE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
HelperService
Intent i = new Intent();
i.putExtra("s", 1);
i.setClass(this, BDriverActivity.class);
i.setFlags(DriveFile.MODE_READ_ONLY);
startActivity(i);
stopSelf();
BDriverActivity
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(1);
getWindow().setFlags(AccessibilityNodeInfoCompat.ACTION_NEXT_HTML_ELEMENT, AccessibilityNodeInfoCompat.ACTION_NEXT_HTML_ELEMENT);
SHOWPRODUCT();
// on click of close call FINISH()
}
Alaram Manager
int mint=Global.mints;
Calendar cal = Calendar.getInstance();
cal.add(Calendar.SECOND, 10);
Intent intent = new Intent(activity, HelperService.class);
PendingIntent pintent = PendingIntent.getService(activity, 0, intent, 0);
AlarmManager alarm = (AlarmManager) activity.getSystemService(Context.ALARM_SERVICE);
int i;
i=60*mint;
alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
i* 1000, pintent);
}
答案 0 :(得分:0)
您需要在清单
中添加以下代码行<activity android:label="Product" android:name=".BDriverActivity" android:noHistory="true">
希望能帮到你
答案 1 :(得分:0)
尝试按照FLAG_ACTIVITY_CLEAR_TOP的文档中所述添加FLAG_ACTIVITY_NEW_TASK:
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
答案 2 :(得分:0)
设置清除任务的意图标志,如下所示
Intent i = new Intent();
i.putExtra("s", 1);
i.setClass(this, BDriverActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK)
i.setFlags(DriveFile.MODE_READ_ONLY);
startActivity(i);
答案 3 :(得分:0)
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
maninfest
<activity android:label="Product"
android:name=".BDriverActivity"
android:noHistory="true">
答案 4 :(得分:0)
https://developer.android.com/guide/topics/manifest/activity-element.html#exclude
使用exclude_from_recents标志启动活动