我有一个特定的问题,我喜欢一些洞察力。这是我的代码
Intent i = new Intent();
i.setDataAndType(media, mediaType);
startActivity(i);
这会为我启动音频活动,它甚至会在通知栏中放置一个通知项,说明这是一项正在进行的任务。但是,如果我点击“主页”按钮或“后退”按钮,则会立即为我执行任务。我对此行为感到困惑。
我发现了一种通过以下方式保持任务的方法:当音频活动开始时,我向下拖动通知栏并单击通知项(这实际上只是再次向我显示相同的活动),当我这样做时,它表现得很好因此。当我单击“主页”按钮时,它会继续。当我按下后退按钮时,它会继续。出于某种原因,当我点击通知项时,“正确”的意图被触发。
我首先想要的是在我第一次启动音频时启动此行为,因为没有人使用我的应用程序会下拉通知栏并单击通知项以使其正常工作。
答案 0 :(得分:2)
使用Service
。具体来说,您需要在服务的创建/开始回调中调用startForegroundService()
。