应用背景
持续通知的音乐播放器应用
目标
点击通知时,我必须:
到目前为止的实施 所以,是的,为此,我有一个名为LauncherActivity的实例活动。所有这一切都是调用LoginActivity(我不能因为Facebook SDK而将LoginActivity设置为singleinstance),然后LoginActivity在登录后调用MainActivity(或者如果已经登录则直接调用它并完成自身)。
现在在我的服务中,我有一个待定的意图设置来启动启动器活动,操作设置为main,类别设置为启动器(与启动器使用的意图格式相同):
Intent i = new Intent(this, MyMainActivity.class);
i.setAction(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(i);
现在我的问题是,如何将数据发送到最顶层的活动?该活动将如何知道它是通过notif而不是启动器图标启动的?
答案 0 :(得分:0)
设置通知时,添加“额外”以表示Intent
来自通知:
Intent i = new Intent(this, MyMainActivity.class);
i.setAction(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_LAUNCHER);
i.putExtra("fromNotification", true);
startActivity(i);
在MyMainActivity.onNewIntent()
和MyMainActivity.onCreate()
中,您可以检查是否已通过此通知启动:
if (intent.hasExtra("fromNotification")) {
// Have been launched from the Notification here
}
在onCreate()
中,您需要使用getIntent()
而非intent
。