我的应用程序中有一个错误,我以为我知道如何解决,但现在我已经考虑了更多的事情,我不确定我是否知道修复方法。
我的应用程序从正在调用的第三方应用程序接收到作为字符串的传入意图。该字符串可以作为
SEND
意图或
VIEW
意图。
所有这些都很好,除非应用程序已经在运行…
这就是正在发生的事情:
-
我的应用未运行(未在“正在运行的应用”视图中列出)
-
在另一个(第三方)应用程序中单击“共享”,然后选择“我的应用程序”接收共享文本(文本1)。
-
我的应用程序打开,文本按预期显示(和处理)。
-
用户切换回第三方应用程序并共享一些不同的文本(text2),然后选择“我的应用程序”接收此新文本。
-
我的应用程序打开,但仍显示原始文本(text1)。
在这一点上,我认为bug是因为我正在阅读
onCreate()
然后显示和处理它。我的想法是应用程序已经在运行了
创建()
当我们跳转到
onResume()
.
但是,如果我继续进行以下测试:
-
在不退出我的应用程序的情况下,用户会切换回第三方应用程序,并再次与我的应用程序共享相同的第二条文本(text2)。
-
再次显示我的应用程序,但这次正确显示和处理第二个文本。
怎么可能呢,因为应用程序还在运行,当然
创建()
还是不会被叫来!
我以为解决办法就是
getIntent()
召集
恢复()
(或)
onStart()
?)但现在我不确定。这样做对吗?