这是我的BroadcastReciever类。该课程负责启动电话状态。
代码;
Tabs,[
{ tab1 = {
Title = tab1name
}
}
{ tab2 = {
Title = tab2name
}
}
{ tab3 = {
Title = tab3name
}
}
]
我收到此错误;
public class BroadCastRecieverBoot extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent ıntent) {
if(Intent.ACTION_BOOT_COMPLETED.equals(ıntent.getAction()))
{
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
context.startForegroundService(new Intent(context, MyService.class));
context.startForegroundService(new Intent(context, GPSTracker.class));
} else {
context.startService(new Intent(context, MyService.class));
context.startService(new Intent(context, GPSTracker.class));
}
}
}
}
它现在在Android Oreo上不起作用。我不知道那是什么错误。
答案 0 :(得分:7)
根据Android 8.0 Background Execution Limits
的官方文档Android 8.0引入了新方法 startForegroundService()在前台启动新服务。 系统创建服务后,该应用将有 5秒 调用服务的 startForeground()方法以显示新服务的 用户可见的通知。 如果应用未调用startForeground() 在此期限内,系统停止服务并声明 应用为ANR。
因此,请确保通过使用服务的<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="flexCont">
<div class="flexItem">
<div class="flexItem1">
<p>Place</p>
<h3>u & d 4</h3>
<a href="http//link/u-d/">sometext bla bla </a><br><a href="http//link/u-d/"><i class="x-icon x-icon-arrow-right" data-x-icon="" aria-hidden="true"></i></a>
</div>
<div class="flexItem2"><img src="https://meme.xyz/uploads/posts/t/l-1229-the-two-states-of-every-programmer.jpg"></div>
</div>
<div class="flexItem">
<div class="flexItem2"><img src="https://meme.xyz/uploads/posts/t/l-1229-the-two-states-of-every-programmer.jpg"></div>
<div class="flexItem1">
<p>Place</p>
<h3>d & u 3</h3>
<a href="http//link/d-u/">sometext bla bla </a><br><a href="http//link/d-u/"><i class="x-icon x-icon-arrow-right" data-x-icon="" aria-hidden="true"></i></a>
</div>
</div>
<div class="flexItem">
<div class="flexItem1">
<p>Place</p>
<h3>d & u 2</h3>
<a href="http//link/matrimonio-test2/">sometext bla bla </a><br><a href="http//link/matrimonio-test2/"><i class="x-icon x-icon-arrow-right" data-x-icon="" aria-hidden="true"></i></a>
</div>
<div class="flexItem2"><img src="https://meme.xyz/uploads/posts/t/l-1229-the-two-states-of-every-programmer.jpg"></div>
</div>
<div class="flexItem">
<div class="flexItem2"><img src="https://meme.xyz/uploads/posts/t/l-1229-the-two-states-of-every-programmer.jpg"></div>
<div class="flexItem1">
<p>Place</p>
<h3>u & d 1</h3>
<a href="http//link/matrimonio-test/">sometext bla bla </a><br><a href="http//link/matrimonio-test/"><i class="x-icon x-icon-arrow-right" data-x-icon="" aria-hidden="true"></i></a>
</div>
</div>
</div>
方法中的startForeground (int id, Notification notification)来启动正在进行的通知。
注意:定位到API onCreate()
或更高版本的应用必须请求权限Build.VERSION_CODES.P
才能使用此API。