- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 flutter 的新手,我想更改设备的墙纸,但这需要从平台 channel 调用方法 https://developer.android.com/reference/android/Manifest.permission?hl=en#SET_WALLPAPER和 native android wallpaperManager
android文件夹/MainActivity.kt下的Kotlin文件报错。
我在下面尝试了这些:
我从这里阅读了其他类型不匹配错误问题,但不幸的是没有找到任何东西。
任何帮助都适用。我的代码如下。
主要 Activity .kt
package com.combasis.wallpaper_son_app
import android.os.Bundle
import io.flutter.app.FlutterActivity
import io.flutter.plugin.common.MethodChannel
import io.flutter.plugins.GeneratedPluginRegistrant
import java.io.IOException
import android.app.WallpaperManager
import android.graphics.BitmapFactory
import java.io.File
import android.os.Build
import android.annotation.TargetApi
import android.content.Context
import io.flutter.Log
private const val CHANNEL = "com.combasis.wallpaper_son_app"
class MainActivity: FlutterActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
GeneratedPluginRegistrant.registerWith(this)
MethodChannel(flutterView, CHANNEL).setMethodCallHandler { call, result ->
if (call.method == "setWallpaper") {
val arguments = call.arguments as ArrayList<*>
val setWallpaper = setWallpaper(arguments[0] as String, applicationContext, arguments[1] as Int)
if (setWallpaper == 0) {
result.success(setWallpaper)
} else {
result.error("UNAVAILABLE", "", null)
}
} else {
result.notImplemented()
}
}
}
@TargetApi(Build.VERSION_CODES.ECLAIR)
private fun setWallpaper(path: String, applicationContext: Context, wallpaperType: Int): Int {
var setWallpaper = 1
val bitmap = BitmapFactory.decodeFile(path)
val wm: WallpaperManager? = WallpaperManager.getInstance(applicationContext)
setWallpaper = try {
wm?.setBitmap(bitmap, null, true, wallpaperType)
0
} catch (e: IOException) {
1
}
return setWallpaper
}
}
main.dart:...
static const platform = const MethodChannel('com.combasis.wallpaper_son_app');
Future<void> _setWallpaper(int wallpaperType, String url) async {
var file =
await DefaultCacheManager().getSingleFile(url);
try {
final int result = await platform
.invokeMethod('setWallpaper', [file.path, wallpaperType]);
print('Wallpaper Updated.... $result');
} on PlatformException catch (e) {
print("Failed to Set Wallpaper: '${e.message}'.");
}
}
运行:
Launching lib/main.dart on AOSP on IA Emulator in debug mode...
Running Gradle task 'assembleDebug'...
e: /Users/username/AndroidStudioProjects/walpaperz_app/wallpaper_son_app/android/app/src/main/kotlin/com/combasis/wallpaper_son_app/MainActivity.kt: (21, 48): Type mismatch: inferred type is MainActivity but FlutterEngine was expected
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:compileDebugKotlin'.
> Compilation error. See log for more details
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 13s
Exception: Gradle task assembleDebug failed with exit code 1
-Android Studio版本:4.0.1
-Kotlin版本:1.3.72-release-Studio4.0-5稳定
-Flutter版本:1.17.2稳定
最佳答案
请从 MainActivity.kt
中移除 GeneratedPluginRegistrant.registerWith(flutterEngine);
并更新如下。
import io.flutter.embedding.android.FlutterActivity
class MainActivity: FlutterActivity() {
}
关于android - 类型不匹配 : inferred type is MainActivity but FlutterEngine was expected,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63349813/
我在尝试在 MainActivity.java 中注册插件时遇到此错误文件 错误日志 : error: cannot find symbol public void configureFl
我尝试在特定文件中指定入口点函数以从我的 iOS 应用程序启动 Flutter 屏幕,我遵循 doc但出现错误: Dart 错误:Dart_LookupLibrary:找不到库“hh.dart”。 这
我是 flutter 的新手,我想更改设备的墙纸,但这需要从平台 channel 调用方法 https://developer.android.com/reference/android/Manife
我想使用 Flutter Workmanager,我在我的 .kt 中做了这样的引用配置: package com.example.mybackprocess import be.tramckrijt
运行此命令时出现这些错误 flutter run --flavor development -t lib/config/main_development.dart --verbose-system-l
我正在尝试用 Java 为 Flutter 创建一个插件。我正在尝试通过 Android activity我的主要参数 Java类(class)。 这是我的 native 代码: package co
好吧,我正在尝试使用 PlatformChannels 从 flutter 导入 Java 代码,我在 Ubuntu 上并且收到该错误,也许这是一个 Java 错误,请创建我的项目 flutter c
我是一名优秀的程序员,十分优秀!