我正在编写一个具有主Activity的应用程序,该Activity控制用户查看和交互的主显示。
它还有一个选项菜单,每个菜单项都有自己的活动和布局来执行各种从属任务。其中一些任务可能会导致主显示内容发生变化。所以我希望那些从属活动能够发出主要活动的信号,它必须重新绘制或重新计算主显示器,下次控件转移到主Activity时,比如它是 onResume()处理程序
一个活动向另一个活动发出信号的轻量级方式是什么?我来自Windows背景,因此我正在寻找相当于发送WM_PAINT消息,或者为要读取的主要活动设置标志或信号量。
我尝试在主Activity中添加一个公共布尔值,但它抱怨它必须是静态的。提前谢谢!
答案 0 :(得分:2)
Android应用程序的两个组件相互通信的方式是广播和广播接收器。 http://developer.android.com/reference/android/content/BroadcastReceiver.html
广播接收器既可以在清单中注册,也可以在代码中动态注册(尽管请确保取消注册,否则日志会抱怨泄漏的广播接收者)。
当您注册接收者时,您还需要提供与您用于制作广播的意图相匹配的意图。
另一种可能的方法是,如果直接从另一个活动中调用一个活动,则可以调用startActivityForResult()方法:http://developer.android.com/reference/android/app/Activity.html#startActivityForResult(android.content.Intent,int)。
哦,也只是一个推荐,每个Android应用都有一个全局的共享偏好,你可以点进去,所以你可以在重绘时检查一下。