Google本身不建议再后台(service和broadCast)里启动一个Activity,但是往往在开发中无门确实需要这样的操作,所有有时候启动这个Activity会很慢,这是因为当点击 home 键将当前 Activity 置于后台时,在后台startActivity 的操作都将会延迟 5 秒,除非该应用获取了 "android.permission.STOP_APP_SWITCHES" 权限
系统权限,不能赋予android.Manifest.permission.STOP_APP_SWITCHES的权限
如果要解决该问题,你可以root你的设备,然后赋予android.Manifest.permission.STOP_APP_SWITCHES权限
或者通过下面的方式来启动:
try {
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, pointIntent, 0);
pendingIntent.send();
} catch (Exception e) {
e.printStackTrace();
}