解决在非Activity中使用startActivity
讓用戶播放音樂30秒后,彈窗提示登陸。這就要求不管在哪個(gè)界面都可以顯示彈窗。彈窗實(shí)現(xiàn)了(在service里實(shí)現(xiàn)而不是在activity里實(shí)現(xiàn),這里不詳說(shuō))。但是在點(diǎn)擊跳轉(zhuǎn)的時(shí)候出現(xiàn)了錯(cuò)誤。在網(wǎng)上找到了解決辦法。錯(cuò)誤和我是一樣的。
以下是原文:
錯(cuò)誤提示信息:
? ? ? ??Caused by:?Android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity? context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
原因:
? ? ?activity繼承了context重載了startActivity方法,如果使用acitvity中的startActivity,不會(huì)有任何限制。
? ? ?而如果直接使用context的startActivity則會(huì)報(bào)上面的錯(cuò)誤,根據(jù)錯(cuò)誤提示信息,可以得知,如果要使用這種方式需要打開新的TASK。
故,解決方法:
? ?intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);?
? context.startActivity(intent);
轉(zhuǎn)載自:http://blog.csdn.net/scwhy/article/details/6650712
總結(jié)
以上是生活随笔為你收集整理的解决在非Activity中使用startActivity的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图灵在计算机科学方面的主要有什么贡献
- 下一篇: 解决toolbar左边空出一部分的问题