转载请注明 作者:田野光 地址:http://blog.csdn.net/lovefish2/article/details/46459759
如今, 绝大多数应用都会涉及通知功能,小到提示性的toast,大到弹出的对话框,还有被各类广告推送搞得乌烟瘴气的通知栏消息,今天我们要说的需求简而言之就是:
需要用户强烈关注的通知,如计时器的计时结束时,需要将结束消息提示给用户
具体一点的就是,当用户在应用中(或应用中的某一具体的activity)时,显示对话框,当应用在后台(或不在应用指定的页面时),显示通知栏消息。
将问题拆分,首先我们看一下如何判断用户是否在应用中(或应用中的某一具体的activity)
- 判断应用在前台还是后台运行
这点不得鄙视一下android,ios有直接的方法可以判断,而安卓后台运行的机制使得application类并没有一个标识符来区分应用运行的前后台。这里给出代码:
public class AppUtil {
private static final String TAG = "AppUtil";
/**
* 获取当前应用包名
* @param context
* @return
*/
public static String getPackageName(Context context) {
return context.getPackageName();
}
/**
* 获取显示在最顶端的activity名称
* @param context
* @return
*/
public static String getTopActivityName(Context context) {
String topActivityClassNam