Android 遇到奇怪的bug

展开阅读全文

Android拍照onActivityResult的奇怪BUG

01-27

这个BUG是一个很奇怪的问题,调用系统相机拍照(在别人的手机上还有美颜相机,美颜相机很容易出这个问题,系统相机不太容易出)n第一次遇到这种特别奇葩的问题,完全跟踪不到,无论如何都没有任何错误输出,没有任何提示无征兆的闪退。n具体就是传入一个指定文件作为拍照文件。如下:nnn```n Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);n if (picturesUploadAndEditView != null)n picturesUploadAndEditView.dissmissDialog();n n tempPhotoPath = getTempImage();n if (tempPhotoPath == null || tempPhotoPath.trim().equals(""))n Toast.makeText(MyApplication.getInstance(), getResources().getString(R.string.sd_error), Toast.LENGTH_LONG);n return;n n File tempFile = new File(tempPhotoPath);n Uri imageUri = Uri.fromFile(tempFile);n intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);n startActivityForResult(intent, ACTION_TAKE_PHOTO);n```ngetTempImage()是一个自动生成照片保存路径的方法。n但是拍照完毕后 大概有20%左右几率,程序会直接闪退。经过调试发现是tempPhotoPath变成了null.加了try catch捕获异常并加Toash提示却无效,Toash根本不出程序就直接闪退了。后来我甚至把整个onActivityResult都加try里面了,但是还可能闪退,奇怪的是,闪退没有任何的错误输出,后来我在代码里逐行加调试输出跟踪,发现只要执行了return,就没有然后了,执行完了,程序不是回到原来的地方而是闪退出去,没报错信息。后来加了UncaughtExceptionHandler试图捕获错误输错却根本没进入到那里面去。求解,彻底没有任何思路了。 问答

奇怪bug

02-20

[code=text]Dim sConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + strFilePath + "';Extended Properties='Excel 8.0;HDR=NO;IMEX=1;'"rn Dim oleDbConnection As OleDbConnection = New OleDbConnection(sConnectionString)rn oleDbConnection.Open()rnrn Dim dt As DataTable = oleDbConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)rn Dim ds As DataSet = New DataSet()rnrnrn For i = 0 To dt.Rows.Count - 1 Step 1rn '/////get sheetNamern Dim tableName As String = dt.Rows(i)(2).ToString().Trim()rn tableName = "[" & tableName.Replace(" ' ", " ") & "]"rn System.Console.WriteLine("get sheetName==" & tableName)rn '////sqlrn Dim query As String = "select * from " & [tableName]rnrn Dim oleAdapter As OleDbDataAdapter = New OleDbDataAdapter(query, sConnectionString)rn Dim tbContainer As New DataTable()rn oleAdapter.Fill(tbContainer)rn ds.Tables.Add(tbContainer)rn Next i[/code]rn图一:rn[img=http://img.my.csdn.net/uploads/201302/20/1361341980_1389.jpg][/img]rn图二:rn[img=http://img.my.csdn.net/uploads/201302/20/1361342365_9755.jpg][/img]rn图三:rn[img=http://img.my.csdn.net/uploads/201302/20/1361342378_2782.jpg][/img]rnrn[size=16px][b]这个是用oleDb从Excel读取数据到dataset里面去,在Excel里面的sheet数量为少量(如图1)的时候,该代码是正确的,但是sheet数量多(如图2)的时候,报错(如图3)[/b][/size]rn谁能帮看看这个问题怎么解决吗?妹子多谢啦[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/42.gif][/img]rn 论坛

没有更多推荐了,返回首页