mob*_*bob 25 android android-widget android-searchmanager
我刚被一个小部件烧毁了.我可以看到问题的原因,但我无法确定原因或解决方案.我的小部件发出了一个搜索(SearchManager),活动启动了一个搜索对话框,但当它回调到我的小部件时,它创建了另一个对小部件的引用(即,thread-id是相同的,但是widget-id从65变为0).
这让我相信创建了一个新实例,并在文档中搜索了适用于该问题的设置.最终,我偶然发现了,android:launchMode="singleTop"并且只要我在AndroidManifest中设置它,中提琴!我的小部件工作.
这花了我两天的调试时间.
还有其他任何情况或者我的问题是否有更技术上更正确的答案?
mob*_*bob 39
我在Android Docs中做了更多的阅读 - 我可以花一辈子阅读他们的文档,并找到一个新的微妙细节打破我的大脑:)这解释了我的多次实例,我没想到,但是,我配置发生.
AndroidManifest.xml的Android Doc on Activity定义
"standard"和"singleTop"模式仅在一个方面彼此不同:每次出现"标准"活动的新意图时,都会创建一个新的类实例来响应该意图.每个实例处理一个intent.类似地,也可以创建"singleTop"活动的新实例来处理新意图.但是,如果目标任务已经在其堆栈顶部具有活动的现有实例,则该实例将接收新意图(在onNewIntent()调用中); 未创建新实例.在其他情况下 - 例如,如果"singleTop"活动的现有实例在目标任务中,但不在堆栈顶部,或者它位于堆栈顶部,
| 归档时间: |
|
| 查看次数: |
33141 次 |
| 最近记录: |