java – 防止重复的活动

所以,我既是 Java的新手,也是创建 Android应用程序,但不是编程的新手.我已经阅读了大部分的developer.android.com网站,但我还没有找到这个:

我想确保某个活动不会同时运行多次.所以我们有一个像这样的任务:
活动A)启动tabactivity
活动B)点击后打开的ListView
Activity C),它是介质对象的接口

现在,每当有人在C中按下后退按钮(这可能是一个可能的事情,因为他们要听一个流动的1小时长mp3),然后按另一个列表项,而不是返回到C,C第二次打开,两条流正在玩.当然,我只想要一个C运行的实例,而我想要第二次单击列表项,使C回到前面.这对通知意图也是有用的.

我一直在乱七八糟的标志(特别是FLAG_ACTIVITY_NEW_TASK,FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_REORDER_TO_FRONT),但迄今没有成功.

如果有人可以帮助我,我可以专注于我的下一个挑战 – 使它成为一个真正的饲料阅读器:P

提前致谢,

解决方法

您需要将您的活动标记为清单中的“singleTask”或“singleInstance”.我不记得2之间的确切差异,但要么做到你想要的. SingleInstance只是做一些与堆栈不同的东西.

示例:

<activity android:name="MainActivity" android:launchMode="singleInstance"></activity>

您可以使用onNewIntent()从同一活动实例处理对startActivity()的新调用,

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...