所以,我一直在寻找成千上万的StackOverflow问题,阅读flutter的android_alarm_manager插件的文档。最终,我无法让它工作。当我试图在我的代码中使用一个插件时,它抛出了一个 "Implementation not foundMissing implementation "的错误。我尝试了所有我在互联网上找到的东西,但我无法让它工作。
这是我的MainActivity.kt。
package novy.vip.novynaplo
import android.os.Bundle
import io.flutter.app.FlutterActivity
import io.flutter.plugins.GeneratedPluginRegistrant
class MainActivity: FlutterActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
GeneratedPluginRegistrant.registerWith(this)
}
}
这是我的飞镖代码,被警报管理器调用。
void backgroundFetch() async {
final SharedPreferences prefs = await SharedPreferences.getInstance();
print(prefs.getString("someStringIneed"));
}
经过一周左右的阅读后,我发现如何解决我的问题。
解决方法
看来我的kotlin代码被废弃了,它没有像应该的那样注册我的插件,所以我把它改成了这个。
package novy.vip.novynaplo
import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugins.GeneratedPluginRegistrant
class MainActivity: FlutterActivity() {
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
GeneratedPluginRegistrant.registerWith(flutterEngine);
}
}
对于大多数人来说,这将会解决这个问题 但我也不得不在我的代码中加入这个片段 AndroidManifest.xml 内 <activity></activity>
):
<meta-data
android:name="flutterEmbedding"
android:value="2"/>