gpt4 book ai didi

android - 在 Android 中实现 startForeground 方法

转载 作者:IT老高 更新时间:2023-10-28 23:39:30 25 4
gpt4 key购买 nike

我想在Service类中实现startForeground()方法,防止服务自残。

谁能发给我实现这个方法的代码?

最佳答案

Jovan,这是为 2.0+ 和 1.6- 制作兼容代码的方法(代码向您展示了如何检测哪个兼容) http://android-developers.blogspot.com/2010/02/service-api-changes-starting-with.html

对于 2.0+,我整理了一些示例代码(使用 startForeground)。请注意,现在不推荐使用某些代码,但是 Notification.Builder 使用 API 级别 11 (3.x),这意味着在大多数手机使用兼容的 Android 版本之前我不会使用它。由于绝大多数手机现在运行的是 2.x 的某个版本,我认为跳过兼容性检查是足够安全的。

final static int myID = 1234;

//The intent to launch when the user clicks the expanded notification
Intent intent = new Intent(this, SomeActivityToLaunch.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent pendIntent = PendingIntent.getActivity(this, 0, intent, 0);

//This constructor is deprecated. Use Notification.Builder instead
Notification notice = new Notification(R.drawable.icon_image, "Ticker text", System.currentTimeMillis());

//This method is deprecated. Use Notification.Builder instead.
notice.setLatestEventInfo(this, "Title text", "Content text", pendIntent);

notice.flags |= Notification.FLAG_NO_CLEAR;
startForeground(myID, notice);

将此代码放入您的服务的 onStartCommand() 中,您就可以开始了。 (但您可以将这部分代码放在您的服务中的任何位置。)

附:要停止服务处于前台,只需在服务中的任何位置使用 stopForeground(true);

关于android - 在 Android 中实现 startForeground 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3687200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com