2010-03-24 101 views
4

我正在开发一个应用程序,在用户选择的Activity启动时得到通知。为此,最好的方法是注册一个BroadcastReceiverACTION_MAIN明确的Intent s,据我所知这是行不通的(因为这些Intent有特定的目标)。另一种可能效率较低的方法是使用系统ActivityManager并在getRunningTask()上进行轮询,该操作返回当前所有正在运行的任务的列表。轮询可以通过后台服务完成。通过监视此列表中的更改,我可以查看某个活动是否正在运行,以便我的应用程序可以得到通知。不利之处当然是投票。我还没有尝试过,但我认为这最后的方法可能会起作用。活动开始时获取通知/接收显式意图

有谁知道更好的方法或建议是不是密集?

+0

我已经实现了第二种可能性。这一切都取决于您的应用程序多久进行一次轮询 – Blundell 2011-07-09 22:42:57

回答

0

为什么不能只是拨打getParent()

这将是你的孩子Activity

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    Intent intent = new Intent(); 

    //Create this method in your Parent Activity 
    getParent().onChildCreated(this, intent); 
} 

这将是你的父母Activity

public void onChildCreated(Activity child, Intent intent) { 
    /* 
    * Have fun (Edited to pass intent) 
    */ 
}