我正在尝试开发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();
}
}
}
答案 0 :(得分:2)
您是否想要提供退出自己的应用程序?如果是这样的话,为什么你必须使用广播接收器?为什么不试试
android.os.Process.killProcess(android.os.Process.myPid());
onBackPressed()方法?
答案 1 :(得分:1)
参考链接:禁用主页键,菜单键和后退键