#android #kotlin #android-intent
#Android #kotlin #android-намерение
Вопрос:
хотите отправить две строковые переменные из SecondActivity в thirdActivity, используя intents. Он работает правильно в Android 10 (APi 29 и выше). Но на Android ниже он просто показывает белый экран на секунду и переходит к FirstActivity, не переходя к thirdActivity. но сохранение материалов работает нормально.
on the secondActivity.kt
private fun save() {
//Does saving stuff....then should go to the next Activity....
try{
val finIntent = Intent(this@Details_Activity, Finish_Activity::class.java)
finIntent.putExtra("thePathName", thePath)
finIntent.putExtra("theName", name)
startActivity(finIntent)
finish() }
catch (e: NoSuchMethodException) {
e.printStackTrace()
Toast.makeText(this,e.message, Toast.LENGTH_LONG).show()
}
}
on the thirdActivity.kt
val name = intent.getStringExtra("theName")
congrats_Text.text = ("Congratulations, $name !")
val path = intent.getStringExtra("thePathName")
path_Text.text = path.toString()
I'm getting,
``2020-10-05 20:54:20.582 20654-20654/? W/ReflectionUtils: java.lang.NoSuchMethodException: android.os.MessageQueue#enableMonitor()#bestmatch
at miui.util.ReflectionUtils.findMethodBestMatch(ReflectionUtils.java:338)
at miui.util.ReflectionUtils.findMethodBestMatch(ReflectionUtils.java:375)
at miui.util.ReflectionUtils.callMethod(ReflectionUtils.java:800)
at miui.util.ReflectionUtils.tryCallMethod(ReflectionUtils.java:818)
at android.os.BaseLooper.enableMonitor(BaseLooper.java:47)
at android.os.Looper.prepareMainLooper(Looper.java:112)
at android.app.ActivityThread.main(ActivityThread.java:6221)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)
2020-10-05 20:54:20.800 20654-20654/com.Something.fresume I/art: Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.View$OnUnhandledKeyEventListener" on path: DexPathList[[zip file "/data/app/com.Something.fresume-1/base.apk"],nativeLibraryDirectories=[/data/app/com.Something.fresume-1/lib/arm64, /system/lib64, /vendor/lib64]]``
on verbose
W/ConnectionTracker: Exception thrown while unbinding
java.lang.IllegalArgumentException: Service not registered: lx@df0e0cd
at android.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:1297)
at android.app.ContextImpl.unbindService(ContextImpl.java:1520)
at android.content.ContextWrapper.unbindService(ContextWrapper.java:658)
at ci.b(:com.google.android.gms.dynamite_measurementdynamite@203615050@20.36.15 (040406-0):1)
at ci.a(:com.google.android.gms.dynamite_measurementdynamite@203615050@20.36.15 (040406-0):6)
at ly.A(:com.google.android.gms.dynamite_measurementdynamite@203615050@20.36.15 (040406-0):10)
at li.a(:com.google.android.gms.dynamite_measurementdynamite@203615050@20.36.15 (040406-0):3)
at ec.run(:com.google.android.gms.dynamite_measurementdynamite@203615050@20.36.15 (040406-0):3)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at jb.run(:com.google.android.gms.dynamite_measurementdynamite@203615050@20.36.15 (040406-0):6)``
On error,
E/libEGL: validate_display:99 error 3008 (EGL_BAD_DISPLAY)
Комментарии:
1. Проверьте logcat, возможно, есть исключение
2. Вы должны увидеть исключение с отслеживанием стека в logcat. Отредактируйте свой вопрос и вставьте туда исключение и stacktrace, и мы сможем помочь.
3. Сэр @DavidWasser, получаю исключение ‘W / ConnectionTracker: исключение, вызванное при отвязке java.lang. Исключение IllegalArgumentException: служба не зарегистрирована: lx @9090aa6’ Как мне это решить…
4. Вы редактируете свой вопрос и вставляете содержимое сообщения об исключении с помощью stacktrace в свой вопрос. Stacktrace сообщит вам, в каком методе и в какой строке возникает исключение. Вставьте этот код также в свой вопрос.
5. Сэр @DavidWasser, я отредактировал вопрос, насколько мне известно. Он даже не запускает оператор catch, поскольку он работает нормально, но проблема с переходом к другому действию все еще продолжается. Есть ли какой-либо другой простой способ сделать это с помощью намерений?