发表日期: 2021-09-10 10:45:11 浏览次数:118
东莞网站建设|高端网站建设|网页设计|网站设计|网站制作-网站建设服务中心

石碣镇,隶属于广东省东莞市,位于东莞市东北部,地处东江河畔,东接石龙古镇,西临东莞市区,南距深圳78公里,北离广州62公里,是东莞市下辖的32个镇区之一。 [1]
石碣镇辖区总面积36.21平方千米(2017年),下辖14个村、1个社区和75个村民小组;241500人(2017年)。 [1]
石碣镇有袁崇焕纪念公园、单氏宗祠等名胜古迹。石碣镇先后获得“全国亿万农民健康促进行动示范区 [2] ”、“国家卫生镇“ [3] 、”中国电子信息产业名镇“ [4] 等荣誉称号。
2018年10月8日,入选2018年度全国综合实力千强镇。 [5] 2018年重新确认国家卫生县城(乡镇)。 [6] 2019年10月8日,入选2019年度全国综合实力千强镇前100名。
我们只需在OnCreate( )方法中调用上述的createWindowView( )方法即可启动加载悬浮框, 但是我们发现了一点:这玩意貌似关不掉啊,卧槽,好吧,接下来我们就要分析下需求了!
当处于手机的普通界面,即桌面的时候,这玩意才显示,而当我们启动其他App时,这个悬浮框应该 消失不见,当我们推出app又回到桌面,这个悬浮框又要重新出现!
那么我们首先需要判断App是否位于桌面,于是乎我们再加上下述代码:
/**
* 判断当前界面是否是桌面
*/ public boolean isHome(){
if(mActivityManager == null) {
mActivityManager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
}
List<RunningTaskInfo> rti = mActivityManager.getRunningTasks(1);
return homeList.contains(rti.get(0).topActivity.getPackageName()); }
/**
* 获得属于桌面的应用的应用包名称
* @return 返回包含所有包名的字符串列表
*/ private List<String> getHomes() {
List<String> names = new ArrayList<String>();
PackageManager packageManager = this.getPackageManager();
// 属性
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
List<ResolveInfo> resolveInfo = packageManager.queryIntentActivities(intent,
PackageManager.MATCH_DEFAULT_ONLY);
for(ResolveInfo ri : resolveInfo) {
names.add(ri.activityInfo.packageName);
}
return names; }