رفتن به مطلب
  • 0

مشکل در انتخاب فایل از گالری در اندروید 5


elysium1368

سوال

سلام اساتید گل، به یه مشکلی خوردم، امیدوارم کسی بتونه کمک کنه، یه برنامه نوشتم که برای انتخاب فایل باید از طریق گالری فایل رو بگیره، توی اندروید نسخه ۴ درست جواب میده و فایل رو به راحتی انتخاب میکنم و ارسال میکنم، ولی توی نسخه ۵ اندروید ارور میده، توی منیفست هم تا اندروید ۶ زدم یعنی sdk 23، مشکل کار کجاست؟ تصویر ارور رو پیوست کردم. post-4157-14457485881532_thumb.jpg

Sent from my HTC Desire 500 dual sim using Tapatalk

لینک ارسال
به اشتراک گذاری در سایت های دیگر

8 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

سلام

با ContentChooser انتخاب‌ میکنید ؟؟

از سورس زیر استفاده‌ کنید بنده خودم‌ هم اندروید ۵ دارم استفاده میکنم و مشکلی نداره

http://answercenter.ir/topic/7354-%D8%A7%D9%86%D8%AA%D8%AE%D8%A7%D8%A8-%D9%81%D8%A7%DB%8C%D9%84-%D8%A8%D8%A7-contentchooser/

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام. سورس رو استفاده کردم ولی کماکان مشکل پابرجاست. کجای کارم مشکل داره؟ 

Sub Btn_browse_Click
	
	
    vidChooser.Initialize("vidChooser")
    vidChooser.Show("video/*", "یک ویدئو انتخاب کنید")
	
End Sub
Sub vidChooser_Result (Success As Boolean, Dir As String, FileName As String)
	If Success Then
		Dim uriVid As String = GetPathFromContentResult(FileName)
		FullPath = GetRealPath(FileName)
   		Filename1 = FullPath.SubString(FullPath.LastIndexOf("/")+1)
		Dim str As String
		str = FullPath.SubString(FullPath.LastIndexOf("/")+1)
		Filepath = FullPath.Replace(str,"")
		ET_Address.Text=uriVid
		ToastMessageShow(Filename1,True)
	Else
	  ToastMessageShow("انجام نشد، دوباره تلاش کنید.",False)
	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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ببینید بیاید به شکل زیر عمل کنید :

Sub Process_Globals
Dim cc As ContentChooser
End Sub
Sub Globals
	Private ImageView3 As ImageView
End Sub
Sub Activity_Create(FirstTime As Boolean)
cc.Initialize("Choose")
End Sub
Sub Choose_Result (Success As Boolean, Dir As String, FileName As String)
	If Success Then
	 	ToastMessageShow("عکس پروفایل انتخاب شد",False)
	  Else
	  ToastMessageShow("متاسفیم ظاهرا فایل عکس شما قابل بارگذاری نیست",False)
	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

و در ساب دکمه انتخاب عکس که بره تو گالری و عکسو انتخاب کنه هم :

	cc.Show("image/*","عکس خود را انتخاب کنید")
لینک ارسال
به اشتراک گذاری در سایت های دیگر

توی برنامم نیاز دارم به Dir و fileName. واسه همین از دو sub دیگه هم استفاده می کنم. البته فعلا توی انتخاب فایل در آندروید 5 موندم. من نیاز به انتخاب ویدئو برای ارسال به سرور FTP دارم. توی نسخه 4.0.1 به خوبی جواب میده. روی گوشی HTC one m8 که نصب کردم این خطا رو میده

لینک ارسال
به اشتراک گذاری در سایت های دیگر

توی برنامم نیاز دارم به Dir و fileName. واسه همین از دو sub دیگه هم استفاده می کنم. البته فعلا توی انتخاب فایل در آندروید 5 موندم. من نیاز به انتخاب ویدئو برای ارسال به سرور FTP دارم. توی نسخه 4.0.1 به خوبی جواب میده. روی گوشی HTC one m8 که نصب کردم این خطا رو میده

خوب اگر به ادرس Filename و Dir نیاز دارید به این شکل بنویسید :

Sub Choose_Result (Success As Boolean, Dir As String, FileName As String)
	If Success Then
 MsgBox("axe shoma ba masire"&Dir&"va esme"&FileName&"entekhab shod" ,"") 
	  Else
MsgBox("error" , "")	  
	End If
End Sub

FTP هم بحثش جداس

لینک ارسال
به اشتراک گذاری در سایت های دیگر

فعلا مشکل رو با فایل دیالوگ حل کردم! ولی دوس داشتم از طریق گالری باشه. یه لایبرری نیست که آدرس فایل رو توی گالری دقیق برگردونه ؟! 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

مشکل حل نشده، توی منیفست فقط پرمیژن های خواندن و نوشتن از اکسترنال رو اضافه کردم، نیاز به پرمیژن دیگه ای نیست؟ این مشکل فقط توی اندروید ۵.۰.۱ هست

Sent from my HTC Desire 500 dual sim using Tapatalk

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...