当我关闭应用程序...并打开通知...我在 TestActivity 上单击“返回”

当我关闭应用程序并打开通知时,它会打开 TestActacty ..但是当我单击后退时,它会关闭应用程序...没有返回到主 Activity ..我需要它回到MainActivity


Intent in=new Intent(this,TestActicity.class);

        PendingIntent p=PendingIntent.getActivity(this,1,in,PendingIntent.FLAG_UPDATE_CURRENT);

        Intent BroadCast=new Intent(this, TestActicity.class);

        BroadCast.putExtra("Link","Hello");

        PendingIntent BpendingIntent=PendingIntent.getBroadcast(this,0,BroadCast,PendingIntent.FLAG_CANCEL_CURRENT);

        Notification notfy=new NotificationCompat.Builder(getApplicationContext(), App.CHANNEL_1_ID)

                .setSmallIcon(R.drawable.ic_launcher_background)

                .setContentTitle("Test")

                .setContentText("Walaaaaaa")

                .setContentIntent(p)

                .setAutoCancel(true)

                .setPriority(NotificationCompat.PRIORITY_HIGH)

                .setOnlyAlertOnce(true)

                .addAction(R.mipmap.ic_launcher,"toast",BpendingIntent)

                .addAction(R.mipmap.ic_launcher,"Replay",p)

                .build();


        notificationManager.notify(5,notfy);


红颜莎娜
浏览 83回答 1
1回答

慕村225694

创建一个扩展 AppCompatActivity 的 BaseActivity.java 类这应该由 TestActivity 和 MainActivity 扩展在 BaseActivity 中实现 onBackPressed() 并获取此活动是否是堆栈中的最后一个活动,如果是,则它应该是 MainActivity,否则启动 MainActivity 如下代码,因此,确定活动是否是最后一个:在清单中请求 android.permission.GET_TASKS 权限。使用以下代码:ActivityManager mngr = (ActivityManager) getSystemService( ACTIVITY_SERVICE );List<ActivityManager.RunningTaskInfo> taskList = mngr.getRunningTasks(10);if(taskList.get(0).numActivities == 1 &&&nbsp; &nbsp; &nbsp; &nbsp; !taskList.get(0).topActivity.getClassName().equals(MainActivity.getClass().getName())){&nbsp; &nbsp; Log.i(TAG, "Need to launch MainActivity");&nbsp; &nbsp; Intent mainActivityIntent = new Intent(this, MainActivity.class);&nbsp; &nbsp; startActivity(mainActivityIntent);}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java