我对Android开发相对较新,我试图在用户离开应用程序并尝试运行其他预先选择的应用程序时向用户显示提示。我知道我无法检测到启动但我相信我可以通过以下方式查看活动应用程序:
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> runningAppProcessInfo = am.getRunningAppProcesses();
for (int i = 0; i < runningAppProcessInfo.size(); i++) {
if(runningAppProcessInfo.get(i).processName.equals("com.the.app.you.are.looking.for" && disabled == true) {
// Display overlaying message to users!
}
}
第一个问题:如何在轮询事件中每秒多次检查此代码?我会使用异步任务或后台服务,我将如何与它通信以更新disabled
布尔值?
第二个问题:我向用户显示的消息应该是SYSTEM_ALERT_WINDOW还是其他内容,以覆盖所有活动的应用程序?
答案 0 :(得分:0)
您可以轻松创建粘性后台服务,如果您愿意,可以每秒检查一次。然后你可以使用系统警报窗口,或者你可以随时使用新的任务标志启动你自己的活动,并使活动透明,做你的弹出或吐司,然后自己关闭。