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

مشکل اجرا در اندروید 9


Saeedmahdavi

سوال

با سلام خدمت همه مهندسان سایت لطفا کمک کنید من برنامه سورس اینستادانلودر دارم تو اندروید 5 تست میکنم وقتی پست رو میگیره دو گزینه اشتراک گذاری و مشاهده پست دانلود شده داره ک توی اندروید 9 ارور میده و اجرا نمیشه ولی توی اندروید 5 اجرا میشه کمک میکنید مشکل از کجاست؟

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

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

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

در 2 ساعت قبل، Saeedmahdavi گفته است :

ممنون آقای شاهپیری بخش اشتراک گذاری مشکلم حل شد با کتابخانه File Provider ولی الان یه تکه کد بدین ک با این کتابخانه شما بشه فایلی که دانلود شده رو نمایش داد

Public Sub OpenFile(FileName As String,DataType As String)
	Dim i As Intent
	i.Initialize(i.ACTION_VIEW, "")
	Dim fil As PersianFileProvider
	Dim j As JavaObject = i
	Dim uri As Uri=fil.GetUriFromFile(File.DirRootExternal&"/Download/"&FileName)
	j.RunMethod("setDataAndType", Array(uri, DataType))
	i.WrapAsIntentChooser("مشاهده فایل")
	StartActivity(i)
End Sub

 

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

ممنون آقای شاهپیری بخش اشتراک گذاری مشکلم حل شد با کتابخانه File Provider ولی الان یه تکه کد بدین ک با این کتابخانه شما بشه فایلی که دانلود شده رو نمایش داد

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

در 55 دقیقه قبل، Saeedmahdavi گفته است :

 

سوالتون رو توی بخش  آموزشهای تصویری پرسیدید چرا هموطن؟  شما کاربر قدیمی هم هستید قاعدتا باید این مسائل رو بهتر از یه کاربر تازه وارد بدونید.

متن خطا و کدهایی که استفاده کردین رو بزارید ببینیم خطا از چیه.

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

در 46 دقیقه قبل، محمدرضا شاهپیری گفته است :

سوالتون رو توی بخش  آموزشهای تصویری پرسیدید چرا هموطن؟  شما کاربر قدیمی هم هستید قاعدتا باید این مسائل رو بهتر از یه کاربر تازه وارد بدونید.

متن خطا و کدهایی که استفاده کردین رو بزارید ببینیم خطا از چیه.

بله معذرت میخام از همگی به خاطر ارسال این موضوع در بخش تصویری بله کد های صفحه اصلی

#Region  Activity Attributes 
	#FullScreen: False
	#IncludeTitle: False
#End Region


Sub Process_Globals
	' متغیر مربوط به دریافت دسترسی ها و مجوز ها
	Dim rp As RuntimePermissions
End Sub

Sub Globals
	Private Url As EditText
	Private DownloadPanel As Panel
	Private Preview As ImageView
	Private PlayIcon As Label
	Private PostTitle As Label
	Dim ok,pre,img,vid As HttpJob
	Private ViewPost As Button
	Private Download As Button
	Private Share As Button
	Dim pushe As Pushe
	'Slide Menu
	Dim MD As MSMaterialDrawer
	Dim MDB As MSMaterialDrawerBuilder
	Dim MDB2 As SMDrawerItem
End Sub

Sub Activity_Create(FirstTime As Boolean)
	
	Activity.LoadLayout("Home") ' لایوت صفحه اصلی

	Url.Color = Colors.Transparent ' حذف کادر ادیت تکست
	ok.Initialize("ok",Me)
	pre.Initialize("pre",Me)
	vid.Initialize("vid",Me)
	img.Initialize("img",Me)
	
	rp.CheckAndRequest(rp.PERMISSION_WRITE_EXTERNAL_STORAGE) ' درخواست مجوز دسترسی به فایل های در اندروید 6 به بالا
	
	' دانلود اتوماتیک در صورتی که از کاربر از طریق سرویس وارد برنامه شده باشد
	AutoDownload
	
	' کد های مربوط به اسلاید منو
		pushe.initialize()
	' تنظیم تصویر اسلاید منو
	Dim HeaderBackground As BitmapDrawable
	HeaderBackground.Initialize(LoadBitmap(File.DirAssets,"header.jpg"))
	Dim msa As MSAccountHeaderBuilder
	msa.Initialize("MSA")
	msa.withHeaderBackground(HeaderBackground)
	Dim MaterialHeaderResult As Object = msa.build
	
	MDB.Initialize("MD")
	MDB.withDrawerGravity(Gravity.RIGHT)
	MDB.withAccountHeader(MaterialHeaderResult)
	
	' تنظیم آیتم های اسلاید منو
	MDB2.Initialize(MDB)
	AddItemToMenu("راهنما و توضیحات","gmd_live_help",1)
	AddItemToMenu("تنظیمات","gmd_settings",2)
	AddItemToMenu("سایر برنامه های ما","gmd_apps",3)
	AddItemToMenu("امتیاز به این برنامه","gmd_star_rate",4)
	AddItemToMenu("تماس باما","gmd_call",5)
	AddItemToMenu("کانال تلگرام","gmd_send",6)
	AddItemToMenu("خروج از برنامه","gmd_exit_to_app",7)
	MD = MDB.Build
		
End Sub

Sub AddItemToMenu(title As String,icon As String,event As Int)
	Dim ic As MSIconicDrawable : ic.Initialize(icon)  : ic.Color = 0xFF919191
	MDB2.AddPrimaryDrawerItem(title,ic.Drawable,Null,"",True,event,"",SaeedCode.Font)
End Sub

Sub Activity_Resume
	AutoDownload
End Sub

Sub Activity_Pause (UserClosed As Boolean)
End Sub

' دانلود اتوماتیک با کپی لینک در اینستاگرام
Sub AutoDownload
	If SaeedCode.GetClipboardText.StartsWith("<s>http") Then
		Dim NewLink As String = SaeedCode.GetClipboardText
		NewLink = NewLink.Replace("<s>","")
		Url.Text = NewLink
		Download_Click
		SaeedCode.DeleteClipboardText
	End If
End Sub

Sub Activity_PermissionResult (Permission As String, Result As Boolean)
	If Permission = rp.PERMISSION_WRITE_EXTERNAL_STORAGE And Result = False Then
		' در صورتی که کاربر اجازه دسترسی به فایل ها را ندهد
		ToastMessageShow(SaeedCode.CS("لطفا به این برنامه اجازه دسترسی به فایل ها را بدهید ..."),True)
		rp.CheckAndRequest(rp.PERMISSION_WRITE_EXTERNAL_STORAGE)
	End If
End Sub

'باز کردن اسلاید منو
Sub MenuBtn_Click
	MD.OpenDrawer
End Sub

'کد های مربوط به کلیک بر روی آیتم های اسلاید منو 
Sub MD_ItemClick(Position As Int, Identifier As Int)
	Select Identifier
		Case 1
			ToastMessageShow(SaeedCode.CS("این گزینه برای تست میباشد !"),False)
		Case 2
			ToastMessageShow(SaeedCode.CS("این گزینه برای تست میباشد !"),False)
		Case 3
			SaeedCode.OtherApps("saeedmahdavi")
		Case 4
			SaeedCode.RateApp
		Case 5
			SaeedCode.SendEmail("[email protected]")
		Case 6
			SaeedCode.OpenTelegram("king_sfa")
		Case 7
			ExitApplication
	End Select
End Sub

'  بستن اسلاید منو با زدن کلید بازگشت
Sub Activity_KeyPress (KeyCode As Int) As Boolean 'Return True to consume the event
	If KeyCode = KeyCodes.KEYCODE_BACK And MD.IsDrawerOpen Then
		MD.CloseDrawer
		Return True
	Else
		Return False
	End If
End Sub

Sub Url_TextChanged (Old As String, New As String)
	If New.StartsWith("http") And New.Contains("instagram") Then
		Download.Text = "شروع دانلود"
		Download.Enabled = True
	Else
		Download.Enabled = False
	End If
End Sub

Sub Paste_Click
	' دریافت متن از حافظه کلیپبورد
	Url.Text = SaeedCode.GetClipboardText
End Sub

Sub Download_Click
	' شروع دانلود
	DownloadPanel.Visible = False
	If Url.Text.StartsWith("https://instagram.com") Or Url.Text.StartsWith("https://www.instagram.com") Then
		ok.Download(Url.Text)
		Download.Text = "در حال دانلود ..."
		Download.Enabled = False
	Else
		ToastMessageShow(SaeedCode.CS("لطفا آدرس را به درستی وارد کنید ..."),False)
	End If
End Sub

Sub JobDone (job As HttpJob)
	If job.Success Then
		If job.JobName = "ok" Then
			Dim mt As Matcher = Regex.Matcher("<meta property=""og:video:secure_url"" content=""(.*)"" />",job.GetString)
			If mt.Find Then
				' در صورتی که پست ویدیو باشد
				Dim i As Matcher = Regex.Matcher("<meta property=""og:image"" content=""(.*)"" />",job.GetString)
				If i.Find Then pre.Download(i.Group(1))
				vid.Download(mt.Group(1))
			Else
				' در صورتی که پست تصویر باشد
				PlayIcon.Visible = False
				Dim pic As Matcher = Regex.Matcher("<meta property=""og:image"" content=""(.*)"" />",job.GetString)
				If pic.Find Then img.Download(pic.Group(1))
			End If
		End If
		If job.JobName = "pre" Then
			' نمایش تصویر پست در برنامه
			Preview.Bitmap = job.GetBitmap
			PlayIcon.Visible = True
		End If
		If job.JobName = "vid" Then
			' ذخیره فیلم
			Dim vidname As String = "vid-"&Rnd(10000,99999)&".mp4"
			Dim out As OutputStream = File.OpenOutput(File.DirRootExternal,"Download/"&vidname,False)
			File.Copy2(job.GetInputStream,out)
			DownloadPanel.Visible = True
			PostTitle.Text = "ویدیو با نام "&vidname&" در پوشه دانلود ها ذخیره شد !"
			Download.Text = "دانلود با موفقیت انجام شد !"
			SaeedCode.ScanFile(vidname)
			out.Close
			ViewPost.Text = "مشاهده فیلم"
			ViewPost.Tag = vidname
			Share.Tag = "video/mp4"
		End If
		If job.JobName = "img" Then
			' ذخیره عکس
			Preview.Bitmap = job.GetBitmap
			Dim imgname As String = "img-"&Rnd(10000,99999)&".jpg"
			Dim out As OutputStream = File.OpenOutput(File.DirRootExternal,"Download/"&imgname,False)
			job.GetBitmap.WriteToStream(out,100,"JPEG")
			DownloadPanel.Visible = True
			PostTitle.Text = "تصویر با نام "&imgname&" در پوشه دانلود ها ذخیره شد !"
			Download.Text = "دانلود با موفقیت انجام شد !"
			SaeedCode.ScanFile(imgname)
			out.Close
			ViewPost.Text = "مشاهده تصویر"
			ViewPost.Tag = imgname
			Share.Tag = "image/jpg"
		End If
	Else
		Download.Text = "دانلود انجام نشد !"
	End If
	job.Release
End Sub

Sub ViewPost_Click
	' نمایش تصویر یا فیلم
	SaeedCode.OpenFile(ViewPost.Tag,Share.Tag)
End Sub

Sub Share_Click
		' اشتراک گذاری تصویر یا فیلم
	SaeedCode.ShareFile(ViewPost.Tag,Share.Tag)
End Sub

Sub info_Click
	' نمایش دیالوگ درباره ما
	Dim message As String = "با استفاده از این اپلیکیشن به آسانی میتوانید تصاویر و فیلم های اینستاگرام را دانلود و ذخیره کنید !" 
	message = message & CRLF & "تهیه و تولید این نرم افزار توسط : سعید مهدوی انجام گرفته است"
	SaeedCode.Dialog("درباره ...",message,"تماس با ما","بستن","inf")
End Sub

Sub inf_onAny(action As String)
	' کلیک روی گزینه های دیالوگ
	If action = "POSITIVE" Then
		SaeedCode.OpenUrl("https://t.me/king_sfa")
	End If
End Sub

 

و کد های من در ماژول کد که از این روش تگ کردم داخل برنامه

Sub Process_Globals
	Dim Font As Typeface = Typeface.LoadFromAssets("font.ttf")
End Sub

' تغییر فونت اجزای برنامه
Public Sub CS(Text As String) As CSBuilder
	Dim C As CSBuilder
	C.Initialize.Typeface(Font).Append(Text).PopAll
	Return C
End Sub

' نمایش دیالوگ متریال
Public Sub Dialog(Title As String,Message As String,Positive As String,Neutral As String,EventName As String)
	Dim dl As MaterialDialog
	dl.Initialize(EventName)
	dl.title(Title).titleColor(Colors.Black)
	dl.content(Message).contentColor(Colors.RGB(119,119,119))
	dl.cancelable(True).positiveText(Positive).positiveColor(Colors.Black)
	dl.neutralText(Neutral).neutralColor(Colors.Black).canceledOnTouchOutside(True)
	Dim Font As Typeface = Typeface.LoadFromAssets("font.ttf")
	dl.typeface(Font,Font)
	Dim icon As BitmapDrawable
	icon.Initialize(Application.Icon)
	dl.icon(icon).limitIconToDefaultSize
	dl.backgroundColor(Colors.White).buttonRippleColor(Colors.RGB(119,119,119))
	dl.show
End Sub

' باز کردن یک لینک
Public Sub OpenUrl(url As String)
	Dim i As Intent
	i.Initialize(i.ACTION_VIEW,url)
	StartActivity(i)
End Sub

' اسکن فایل برای نمایش داده شدن در گالری
Public Sub ScanFile(FileName As String)
	Dim i As Intent
	i.Initialize("android.intent.action.MEDIA_SCANNER_SCAN_FILE", _
        "file://" & File.Combine(File.DirRootExternal, "Download/"&FileName))
	Dim p As Phone
	p.SendBroadcastIntent(i)
End Sub

' اشتراک گذاری فایل
Public Sub ShareFile(FileName As String,DataType As String)
	Dim i As Intent
	i.Initialize(i.ACTION_SEND, "")
	i.SetType(DataType)
	Dim j As JavaObject = i
	Dim uri As Uri
	uri.Parse("file://" & File.Combine(File.DirRootExternal,"Download/"&FileName))
	j.RunMethod("putExtra", Array("android.intent.extra.STREAM", uri))
	i.WrapAsIntentChooser("به اشتراک بگذارید !")
	StartActivity(i)
End Sub

' باز کردن یک فایل
Public Sub OpenFile(FileName As String,DataType As String)
	Dim pic As Intent
	pic.Initialize(pic.ACTION_VIEW, "file://" & File.Combine(File.DirRootExternal,"Download/"&FileName))
	pic.SetType(DataType)
	pic.WrapAsIntentChooser("مشاهده فایل")
	StartActivity(pic)
End Sub

' دریافت متن از حافظه کلیپبورد
Public Sub GetClipboardText As String
	Dim cb As BClipboard
	If cb.hasText Then
		Return cb.getText
	Else
		Return ""
	End If
End Sub

' حذف متن حافظه کلیپبورد
Public Sub DeleteClipboardText
	Dim cb As BClipboard
	If cb.hasText Then cb.clrText
End Sub

' نمایش سایر برنامه ها در کافه بازار
Public Sub OtherApps(DeveloperID As String)
	Try
		Private i As Intent
		i.Initialize(i.ACTION_VIEW,"bazaar://collection?slug=by_author&aid="&DeveloperID)
		StartActivity(i)
	Catch
		ToastMessageShow(CS("بازار در گوشی شما نصب نیست !"),False)
	End Try
End Sub

' امتیاز به برنامه در کافه بازار
Public Sub RateApp
	Try
		Private m As Intent, uri As String
		uri="bazaar://details?id="&Application.PackageName
		m.Initialize(m.ACTION_EDIT,uri)
		StartActivity(m)
	Catch
		ToastMessageShow(CS("بازار در گوشی شما نصب نیست !"),False)
	End Try
End Sub

' ارسال ایمیل
Public Sub SendEmail(email As String)
	Try
		Private i As Intent
		i.Initialize(i.ACTION_VIEW,"mailto:[email protected]")
		StartActivity(i)
	Catch
		ToastMessageShow(CS("هیچ برنامه ای برای ارسال ایمیل در گوشی شما وجود ندارد"),False)
	End Try
End Sub

' باز کردن تلگرام
Public Sub OpenTelegram(id As String)
	Try
		Private i As Intent
		i.Initialize(i.ACTION_VIEW,"tg://resolve?domain=king_sfa")
		StartActivity(i)
	Catch
		ToastMessageShow(CS("تلگرام در گوشی شما نصب نیست !"),False)
	End Try
End Sub

 و عکسی از ارور در اندروید 9 لازم به ذکر است این برنامه در اندروید 5 تست شد و بی مشکل بود ولی در اندروید 9 این ارور رو داد

 

nm02_screenshot_20190521-191837.jpg

این ارور ما هست وقتی در اندروید 9 گزینه های اشتراک گذاری و مشاهده تصویر رو میزنیم 

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

در ۱ ساعت قبل، Saeedmahdavi گفته است :

بله معذرت میخام از همگی به خاطر ارسال این موضوع در بخش تصویری بله کد های صفحه اصلی

 

و کد های من در ماژول کد که از این روش تگ کردم داخل برنامه

 و عکسی از ارور در اندروید 9 لازم به ذکر است این برنامه در اندروید 5 تست شد و بی مشکل بود ولی در اندروید 9 این ارور رو داد

 

 

این ارور ما هست وقتی در اندروید 9 گزینه های اشتراک گذاری و مشاهده تصویر رو میزنیم 

کتابخونه آماده شده. از لینک زیر تابع اشتراک گذاری جدید رو ببینید.

 

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

در 16 دقیقه قبل، محمدرضا شاهپیری گفته است :

کتابخونه آماده شده. از لینک زیر تابع اشتراک گذاری جدید رو ببینید.

 

با سلام مجدد خدمت شما طبق آموزش شما کتابخانه رو ست کردم ولی ارور زیر رو دریافت کردم

9beo_screenshot_20190521-204754%5B1%5D.j

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

در 3 دقیقه قبل، Saeedmahdavi گفته است :

با سلام مجدد خدمت شما طبق آموزش شما کتابخانه رو ست کردم ولی ارور زیر رو دریافت کردم

 

مسیر رو اشتباه دادید عزیز. یه اسلش کم گذاشتید. مسیر باید به صورت زیر باشه.

Dim uri As Uri=fil.GetUriFromFile(File.DirRootExternal&"/Download/"&FileName)

 

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

در 14 دقیقه قبل، Saeedmahdavi گفته است :

همچنان همین ارور رو میده :sad:

 

سورس رو برام توی خصوصی بفرستید تا بررسی کنم.

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

در 1 دقیقه قبل، محمدرضا شاهپیری گفته است :

سورس رو برام توی خصوصی بفرستید تا بررسی کنم.

چشم

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

در 6 دقیقه قبل، محمدرضا شاهپیری گفته است :

سورس رو برام توی خصوصی بفرستید تا بررسی کنم.

نمیتونم خصوصی ارسال کنم بهتون میگه به حد نصاب نرسیده

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

در 26 دقیقه قبل، محمدرضا شاهپیری گفته است :

سورس رو برام توی خصوصی بفرستید تا بررسی کنم.

از تلگرام ارسال کردم لینک دانلود سورس رو ممنونم

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

بایگانی شده

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

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

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