在不到3秒的时间内重定向到应用

时间:2015-07-21 06:00:49

标签: android

我正在尝试开发Android应用,以防止用户仅使用退出按钮退出应用。

我正在使用Broad Cast接收器,在onReceive检查当前运行的应用是否是我的应用;如果是 - >继续,Else - >重定向到我的应用。

我现在的问题:接收器间隔(3秒)但应用程序需要5-6秒才能重新打开应用程序,如何在不到3秒的时间内重定向到应用程序?

代码:

清单声明:

<receiver android:name=".AlarmReciever" />

接收者的实施:

public class AlarmReciever extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {     
        ActivityManager am1 = (ActivityManager)context.getSystemService(Activity.ACTIVITY_SERVICE);
        String packageName = am1.getRunningTasks(1).get(0).topActivity.getPackageName();

        if (packageName.equals("com.XXXX.YYYYY")) {
            //continue;
        }else{
            final Intent intent = new Intent();
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            intent.setClassName("com.XXXX.YYYYY", "com.XXXX.YYYYY.Launch");
            thisActivity.startActivity(intent);
            thisActivity.finish();
        }
    }
}

2 个答案:

答案 0 :(得分:2)

您是否想要提供退出自己的应用程序?如果是这样的话,为什么你必须使用广播接收器?为什么不试试

  

android.os.Process.killProcess(android.os.Process.myPid());

onBackPressed()方法?

答案 1 :(得分:1)

参考链接:禁用主页键,菜单键和后退键

How To lock home key