请教安卓问题

public class ForceOfflineReceiver extends BroadcastReceiver {


@Override

public void onReceive(final Context context, Intent intent) {

AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(context);

dialogBuilder.setTitle("Warning");

dialogBuilder.setMessage("You are forced to be offline.Please try to login again.");

dialogBuilder.setCancelable(false);

dialogBuilder.setPositiveButton("OK", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

ActivityCollector.finishAll();

Intent intent = new Intent(context,LoginActivity.class);

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

context.startActivity(intent);

}

});

AlertDialog alertDialog = dialogBuilder.create();

//设置AlertDialog的类型,保证在广播接收器中可以正常弹出

alertDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);

alertDialog.show();

}


}

请问两处下划线的context是什么意思?FLAG_ACTIVITY_NEW_TASK的作用是什么?

道可道非常道
浏览 1198回答 1
1回答

FINE_Android

FLAG_ACTIVITY_NEW_TASK: 设置此状态,记住以下原则,首先会查找是否存在和被启动的Activity具有相同的亲和性的任务栈(即taskAffinity,注意同一个应用程序中的activity的亲和性一样,所以下面的a情况会在同一个栈中,前面这句话有点拗口,请多读几遍),如果有,刚直接把这个栈整体移动到前台,并保持栈中的状态不变,即栈中的activity顺序不变,如果没有,则新建一个栈来存放被启动的activity。 这其中还有挺多知识点的,百度一下比在这问一下要好很多。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android
Java