下面是来自相机的示例代码意图:
val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
startActivityForResult(intent, REQUEST_CAMERA)
Run Code Online (Sandbox Code Playgroud)
注意:当我从相机按回来时,活动结果显示如下:
java.lang.RuntimeException:将结果ResultInfo {who = null,request = 65537,result = 0,data = null}传递给activity并且失败:java.lang.IllegalArgumentException:指定为非null的参数为null:
试着找出这样的解决方案:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent) {
try {
when(resultCode){
Activity.RESULT_CANCELED -> {
System.out.println("nothing")
}
Activity.RESULT_OK -> {
if (requestCode == SELECT_FILE)
onSelectFromGalleryResult(data)
else if (requestCode == REQUEST_CAMERA)
onCaptureImageResult(data)
}
}
}catch (e:NullPointerException){
e.printStackTrace()
}
}
Run Code Online (Sandbox Code Playgroud)
仍然没有解决问题,因为当我做debuging日志时它不会出现在func onactivityresult如果我按下从相机返回而不捕获图像.从画廊工作中拍摄照片和拾取图像就像魅力一样.
谢谢.请帮助我解决这个问题,因为一路上解决方案不能正常工作.似乎谷歌必须覆盖有趣的onresultactivity(结果代码!!:Int)< - 这个应该返回非null.
我有编译新gradle的问题,如下所示:
错误:找不到com.android.tools.build:gradle:3.0.0-beta2.在以下位置搜索:file:/ C:/ Program Files/Android/android-studio-preview/gradle/m2repository/com/android/tools/build/gradle/3.0.0-beta2/gradle-3.0.0-beta2 .pom文件:/ C:/ Program Files/Android/android-studio-preview/gradle/m2repository/com/android/tools/build/gradle/3.0.0-beta2/gradle-3.0.0-beta2.jar https: //jcenter.bintray.com/com/android/tools/build/gradle/3.0.0-beta2/gradle-3.0.0-beta2.pom https://jcenter.bintray.com/com/android/tools/build /gradle/3.0.0-beta2/gradle-3.0.0-beta2.jar 必需者:项目:打开文件
这是我的傻瓜:
buildscript {
ext.kotlin_version = '1.1.4-2'
repositories {
jcenter()
}
dependencies {
classpath "com.android.tools.build:gradle:3.0.0-beta2"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
Run Code Online (Sandbox Code Playgroud)