Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 混淆活动启动_Android - Fatal编程技术网

Android 混淆活动启动

Android 混淆活动启动,android,Android,设置启动模式的第一种方法 Notification.Builder builder = new Notification.Builder(getContext()); builder.setAutoCancel(true); builder.setSmallIcon(R.mipmap.ic_launcher); builder.setLargeIcon(BitmapFactory.decodeResource(getCont

设置启动模式的第一种方法

Notification.Builder builder = new Notification.Builder(getContext());
            builder.setAutoCancel(true);
            builder.setSmallIcon(R.mipmap.ic_launcher);
            builder.setLargeIcon(BitmapFactory.decodeResource(getContext().getResources(), R.mipmap.ic_launcher));
            builder.setContentTitle("abc");
            builder.setContentText("abc");
            builder.setContentIntent(PendingIntent.getActivity(getContext(), 0,
                    new Intent(getContext(), MainActivity.class).replaceExtras(bundle).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP),
                    PendingIntent.FLAG_UPDATE_CURRENT));
            builder.setDefaults(Notification.DEFAULT_SOUND);
            NotificationManager manager = (NotificationManager) getContext().getSystemService(Context.NOTIFICATION_SERVICE);
            manager.notify(0, builder.build());
在新任务中启动
活动
。如果您现在正在启动的活动的任务已在运行,则该任务将被带到前台并恢复其最后状态,并且该活动将在
onNewIntent()
中接收新的意图。 这将产生与上一节讨论的“singleTask”launchMode值相同的行为

活动堆栈a、b、
main活动

为什么不以第一种方式调用onNewIntent()
。 为什么活动(a,b)没有以第一种方式清洁

  • 通过使用android:launchMode=“singleTask” “单任务”和“单实例”活动只能开始一项任务。它们始终位于活动堆栈的根。此外,该设备一次只能保存一个活动实例-只有一个这样的任务

  • 通过使用设置的
    FLAG\u ACTIVITY\u NEW\u TASK
    ,此活动将成为此历史堆栈上新任务的开始


  • 使用“singleTask”和“singleInstance”的活动并不总是在活动堆栈的根目录下。您的第一点是错误的:“系统创建一个新任务并在新任务的根目录下实例化该活动。但是,如果该活动的一个实例已经存在于一个单独的任务中,则系统会将意图路由到现有实例”@我同意你的看法。
    <activity
            android:name=".activity.mainActivity.MainActivity"
            android:theme="@style/AppTheme.NoActionBar" 
            android:launchMode="singleTask"/>
    
    FLAG_ACTIVITY_NEW_TASK