报错内容IllegalStateException: Not allowed to start service Intent ...

解决方案:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {        context.startForegroundService(new Intent(context, MyService.class));    } else {        context.startService(new Intent(context, MyService.class));    }
在Service类中添加如下代码public static final String CHANNEL_ID_STRING = "service_01";    @Override    public void onCreate() {        super.onCreate();        //适配8.0service        NotificationManager notificationManager = (NotificationManager) MyApp.getInstance().getSystemService(Context.NOTIFICATION_SERVICE);        NotificationChannel mChannel = null;        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {            mChannel = new NotificationChannel(CHANNEL_ID_STRING, getString(R.string.app_name),                    NotificationManager.IMPORTANCE_LOW);            notificationManager.createNotificationChannel(mChannel);            Notification notification = new Notification.Builder(getApplicationContext(), CHANNEL_ID_STRING).build();            startForeground(1, notification);        }}

这样就能解决问题。

更多相关文章

  1. 【小超_U3D】Unity打出Android包,运行报错解决方案
  2. NestedScrollView中添加一个android:fillViewport="true"
  3. Android(安卓)添加桌面快捷方式操作
  4. android之service
  5. Android(安卓)如何获取最顶端的Top Activity
  6. Android(安卓)studio中关于 No cached version of **** availabl
  7. android Intent类
  8. DataBinding(双向绑定)
  9. android:taskAffinity属性的简单测试

随机推荐

  1. szq.orm.sql
  2. Elasticsearch是什么?Elasticsearch 能够
  3. 关于.net 3.5中的委托实例
  4. C#中SQL参数传入空值出错误和如何解决办
  5. 关于脚本PowerShell的设计实例
  6. devexpress TreeList递归的实例代码
  7. C# 多线程--线程池的详细介绍
  8. CTS(common type system)的实例介绍及应用
  9. 介绍一个力软敏捷开发框架
  10. 什么是委托?总结.net中重要的特性委托