我是 Android 开发的新手,在阅读了有关任务和活动的文档后,我无法让我的应用程序正常工作。
(首先,对不起我的英语)
我的应用程序包含两个活动:LOGIN和NEWS。两种活动的启动方法都是 singleTask。
NEWS 活动使用 onCreate 使用Android 通知教程的标准通知代码创建通知!
int icon = R.drawable.notification_icon; // icon from resources
CharSequence tickerText = "Hello"; // ticker-text
long when = System.currentTimeMillis(); // notification time
Context context = getApplicationContext(); // application Context
CharSequence contentTitle = "My notification"; // expanded message title
CharSequence contentText = "Hello World!"; // expanded message text
Intent notificationIntent = new Intent(this, MyClass.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
Notification notification = new Notification(icon, tickerText, when);
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
当我第一次打开应用程序时:
登录--> onResume() -->新闻--> onCreate() --> 通知
用代码
Intent newLogAct = new Intent(Login.this, News.class);
TomTuckerActivity.this.startActivity(newLogAct);
如果我回击* NEWS *并再次被破坏:
登录--> onResume() -->新闻--> onCreate() --> 通知
(我不喜欢那个循环,使用它的原因在最后解释)
如果我点击主页,我会返回主菜单,然后从这里开始我不明白的内容:
如果我使用通知重新启动应用程序,则没有问题,并且NEWS窗口再次打开而无需调用 onCreate 且未发送通知。
如果我在调用NEWS时使用应用程序图标,则 singleTask 选项似乎没用,因为再次调用 onCreate() 并再次发送通知。
我想要的是使用通知或图标恢复我离开的应用程序。
newLogAct 中的标志可以解决问题吗?
在这两个活动中都有 singleTask 启动选项可以吗?
关于后退按钮循环问题:
为了避免循环,我考虑使用 onCreate() 而不是 onResume()。但是,当我重新启动应用程序时,应用程序图标LOGIN已加载,但未调用 onCreate,因此未加载NEWS 。
有没有其他方法可以解决这个问题?
也许使用 onNewIntent() 方法?