Flutter - 在启动时启动前台服务

问题描述

我正在尝试在启动时以颤振方式启动前台服务。 为了实现这一点,我正在使用 flutter_foreground_plugin 我在 android 的应用程序清单中添加一个 BOOT_COMPLETED 接收器,并且广播接收器被正确调用,我可以在启动时在其中运行代码。 我的问题真的很简单 - 我似乎找不到 changjoopark.com.Flutter_foreground_plugin.FlutterForegroundService 插件的正确名称来通过意图启动它。 注意前台插件的包名当然和我的不一样。

以下是 AndroidManifest 的相关摘录:

<receiver android:enabled="true" android:name=".ServiceStartup" >
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
    </receiver>
    <service android:enabled="true" android:name="changjoopark.com.Flutter_foreground_plugin.FlutterForegroundService"/>

这是服务启动的代码

package com.somecompany.myapp;

import android.content.broadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.os.Handler;

public class ServiceStartup extends broadcastReceiver {

    public void onReceive(final Context context,Intent intent) {
        System.out.println(">>>>>> In onReceive of ServiceStartup <<<<<<< ");
        Handler h = new Handler();
        h.post(new Runnable() {
            @Override
            public void run() {
                Intent intent = new Intent("changjoopark.com.Flutter_foreground_plugin.FlutterForegroundService");
                intent.setPackage("changjoopark.com.Flutter_foreground_plugin");
                context.startForegroundService(intent);
            }
        });
    }
}

我尝试了指定包名称和组件的所有可能组合,但似乎都不起作用,因为我在 logcat 中收到了无法找到组件的错误。 我错过了什么?我应该如何启动服务?

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...