این دستورات من برای انتخاب یک تصویر از حافظه و نمایش آن در ایمیج ویو هست
Sub Process_Globals
Private c As ContentChooser
End Sub
Sub Globals
Private r As RuntimePermissions
Private ImageView1 As ImageView
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("Layout")
r.CheckAndRequest(r.PERMISSION_READ_EXTERNAL_STORAGE)
r.CheckAndRequest(r.PERMISSION_WRITE_EXTERNAL_STORAGE)
c.Initialize("cc")
End Sub
Sub Activity_PermissionResult (Permission As String, Result As Boolean)
If Result = False Then
Msgbox("شما اجازه دسترسی به حافظه را به این برنامه نداده اید و در اینصورت ممکن است برخی از بخش های برنامه به درستی کار نکنند","")
End If
End Sub
Private Sub cc_Result (Success As Boolean, Dir As String, FileName As String)
If Success Then
Dim uriImage As String = GetPathFromContentResult(FileName)
ImageView1.SetBackgroundImage(LoadBitmapSample("",uriImage,ImageView1.Width,ImageView1.Height))
End If
End Sub
Sub GetPathFromContentResult(UriString As String) As String
If UriString.StartsWith("/") Then Return UriString 'If the user used a file manager to choose the image
Dim Cursor1 As Cursor
Dim Uri1 As Uri
Dim Proj() As String = Array As String("_data")
Dim cr As ContentResolver
cr.Initialize("")
If UriString.StartsWith("content://com.android.providers.media.documents") Then
Dim i As Int = UriString.IndexOf("%3A")
Dim id As String = UriString.SubString(i + 3)
Uri1.Parse("content://media/external/images/media")
Cursor1 = cr.Query(Uri1, Proj, "_id = ?", Array As String(id), "")
Else
Uri1.Parse(UriString)
Cursor1 = cr.Query(Uri1, Proj, "", Null, "")
End If
Cursor1.Position = 0
Dim res As String
res = Cursor1.GetString("_data")
Cursor1.Close
Return res
End Sub
Private Sub Button1_Click
c.Show("image/*","Choose Image")
End Sub
اما نمیدونم چرا توی اندروید 6 و بالاتر خطای فورس کلوز میده!!
سوال
MR.B4A 126
سلام
این دستورات من برای انتخاب یک تصویر از حافظه و نمایش آن در ایمیج ویو هست
Sub Process_Globals Private c As ContentChooser End Sub Sub Globals Private r As RuntimePermissions Private ImageView1 As ImageView End Sub Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("Layout") r.CheckAndRequest(r.PERMISSION_READ_EXTERNAL_STORAGE) r.CheckAndRequest(r.PERMISSION_WRITE_EXTERNAL_STORAGE) c.Initialize("cc") End Sub Sub Activity_PermissionResult (Permission As String, Result As Boolean) If Result = False Then Msgbox("شما اجازه دسترسی به حافظه را به این برنامه نداده اید و در اینصورت ممکن است برخی از بخش های برنامه به درستی کار نکنند","") End If End Sub Private Sub cc_Result (Success As Boolean, Dir As String, FileName As String) If Success Then Dim uriImage As String = GetPathFromContentResult(FileName) ImageView1.SetBackgroundImage(LoadBitmapSample("",uriImage,ImageView1.Width,ImageView1.Height)) End If End Sub Sub GetPathFromContentResult(UriString As String) As String If UriString.StartsWith("/") Then Return UriString 'If the user used a file manager to choose the image Dim Cursor1 As Cursor Dim Uri1 As Uri Dim Proj() As String = Array As String("_data") Dim cr As ContentResolver cr.Initialize("") If UriString.StartsWith("content://com.android.providers.media.documents") Then Dim i As Int = UriString.IndexOf("%3A") Dim id As String = UriString.SubString(i + 3) Uri1.Parse("content://media/external/images/media") Cursor1 = cr.Query(Uri1, Proj, "_id = ?", Array As String(id), "") Else Uri1.Parse(UriString) Cursor1 = cr.Query(Uri1, Proj, "", Null, "") End If Cursor1.Position = 0 Dim res As String res = Cursor1.GetString("_data") Cursor1.Close Return res End Sub Private Sub Button1_Click c.Show("image/*","Choose Image") End Sub
اما نمیدونم چرا توی اندروید 6 و بالاتر خطای فورس کلوز میده!!
ممنون میشم راهنماییم کنید
لینک ارسال
به اشتراک گذاری در سایت های دیگر
7 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.