猿问

按下HOME按钮后,无需5秒的延迟即可从服务启动活动

我遇到此Android问题中描述的问题:http : //code.google.com/p/android/issues/detail?id=4536


简而言之,在按下HOME按钮后,Android会阻止服务和广播接收者调用startActivity 5秒钟。


我还注意到(理论上),具有以下许可:


"android.permission.STOP_APP_SWITCHES"

允许您调用resumeAppSwitches(在ActivityManagerService中定义)。查看最新版本的ActivityManagerService,将删除此代码。


问题:如何在不延迟5秒钟的情况下使用startActivity启动活动?


慕田峪9158850
浏览 902回答 3
3回答

烙印99

我认为目前的API没有办法做到这一点。我认为这就是他们希望其工作的方式,以便当用户按主键退出时,应用程序无法强制自己重新打开。您可以将home /启动器意图添加到过滤器中,以进行尝试启动的任何活动。然后,用户将可以选择基本将其视为主屏幕。然后,只要用户按下主屏幕按钮,它就会立即启动(他们必须从弹出的列表中选择它,询问他们要使用哪个应用来完成此操作,但他们可以检查是否始终使用这个应用程式,可让您日后迈出这一步。)

慕慕森

这是我找到的解决方案。将要立即开始的意图放在PendingIntent中,然后在其上调用send()方法。所以代替这个Intent intent = new Intent(context, A.class);                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);                context.startActivity(intent);只是这样做Intent intent = new Intent(context, A.class);                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);                PendingIntent pendingIntent =                        PendingIntent.getActivity(context, 0, intent, 0);                try {                    pendingIntent.send();                } catch (PendingIntent.CanceledException e) {                    e.printStackTrace();                }

九州编程

我正在使用AlarmManager从Service立即启动Activity。即使您之前已按下主页按钮,活动也将立即开始。在Android 5.0.1(Galaxy Alpha)上进行了测试。请勿在6.0.1(Nexus 7 2013)上使用:-(不要在4.1.2(Galaxy S II)下工作:-(不要在4.3(ASUS MeMO Pad FHD 10 ME302C)上工作:-(@TargetApi(Build.VERSION_CODES.KITKAT)private void startActivity() {    Intent intent = new Intent(this, Main.class);    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT);    AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);    long now = Calendar.getInstance().getTimeInMillis();    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)        alarmManager.setExact(AlarmManager.RTC_WAKEUP, now, pendingIntent);    else        alarmManager.set(AlarmManager.RTC_WAKEUP, now, pendingIntent);}
随时随地看视频慕课网APP

相关分类

Android
我要回答