我有一个cordova项目文件夹www
已经在进行中。
建立这个,你将有一个Android项目。
这将创建一个MainActivity.java
文件。
我不懂Java,所以我把文件改成了MainActivity.kt
,并转换了内部代码。
但当我运行它时,它不会作为错误运行。
构建cordova:
cordova build android
已创建MainActivity.java:
package com.example.gamename;
import android.os.Bundle;
import org.apache.cordova.*;
public class MainActivity extends CordovaActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle extras = getIntent().getExtras();
if (extras != null && extras.getBoolean("cdvStartInBackground", false)) {
moveTaskToBack(true);
}
loadUrl(launchUrl);
}
}
转换后的MainActivity.kt:
package com.example.gamename
import android.content.Intent.getIntent
import android.os.Bundle
import org.apache.cordova.*
class MainActivity:CordovaActivity() {
override fun onCreate(savedInstanceState:Bundle) {
super.onCreate(savedInstanceState)
val extras = getIntent().getExtras()
if (extras != null && extras.getBoolean("cdvStartInBackground", false)) {
moveTaskToBack(true)
}
loadUrl(launchUrl)
}
}
获取错误….:
2020-03-09 18:56:57.159 7625-7625/com.example.gamename E/AndroidRuntime:致命异常:main进程:com.example.gamename,PID:7625java.lang.RuntimeException:无法启动活动ComponentInfo{com.example.gamename/com.example.gamename]MainActivity}:java.lang.IllegalArgumentException:指定为非null的参数为null:方法kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull,参数savedInstanceState
有解决方案吗?还是没有办法?
必须解决使用身份验证、支付和数据库的问题(不幸的是,我不懂Java(。
需要在MainActivity.kt.中将Bundle更改为"Bundle?">
override fun onCreate(savedInstanceState:Bundle?) {