我想开发一个语音应用程序,当用户说出一些命令时必须做出响应。我认为我需要一项服务来完成我的任务。但是我从几个资源中了解到服务无法运行很长时间。如果服务闲置,android系统会自动销毁服务。
所以我的问题是,是否可以连续运行服务而不会被破坏并响应用户操作?
我是Android开发的新手。如果问题有任何问题,请纠正我。
感谢您的帮助!
答案 0 :(得分:0)
您可以使用startForeground
。
Notification notification = new Notification(R.drawable.icon, getText(R.string.ticker_text),
System.currentTimeMillis());
Intent notificationIntent = new Intent(this, ExampleActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
notification.setLatestEventInfo(this, getText(R.string.notification_title),
getText(R.string.notification_message), pendingIntent);
startForeground(ONGOING_NOTIFICATION_ID, notification);
它们只是作为最后的手段被杀死 - 如果内存太低而无法继续运行。 https://developer.android.com/guide/components/processes-and-threads.html
第一优先。