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

ساخت open with


Mohsen27

سوال

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

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

سلام

برای قرار دادن برنامه شما در لیست برنامه ها برای بازکردن مثلا عکس یا موزیک یا لیست برنامه ها برای اشتراک گذاری ابتدا بسته به برنامت کد مینویسی ، اینجا مثال رو عکس هستش

ابتدا باید داخل مانیفست این کد هارو وارد کنید

[left] AddActivityText(YourActivity,<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
) [/left]

your activity : اکتیویتی که کد ها داخلش هس

و حالا کد های اکتیویتی :

Sub Activity_create
Dim int1 As Intent
int1 = Activity.GetStartingIntent
If int1 <> Null Then
Try
Dim sContent As String = int1.ExtrasToString.SubString(int1.ExtrasToString.IndexOf("content://")).Replace("}", "").Replace("]", "")


Dim bitmp As ImageView
bitmp.Initialize("")
bitmp.Gravity = Bit.OR(Gravity.FILL, Gravity.CENTER)
bitmp.Bitmap = LoadBitmap(GetPathFromContentResult(sContent), "")
Activity.AddView(bitmp, 0, 0, 100%x, 100%y)


Catch
Log(LastException.Message)
End Try
End If 
End Sub




Sub GetPathFromContentResult(UriString As String) As String
If UriString.StartsWith("/")
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

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

سلام

برای قرار دادن برنامه شما در لیست برنامه ها برای بازکردن مثلا عکس یا موزیک یا لیست برنامه ها برای اشتراک گذاری ابتدا بسته به برنامت کد مینویسی ، اینجا مثال رو عکس هستش

ابتدا باید داخل مانیفست این کد هارو وارد کنید

[LEFT] AddActivityText(YourActivity,<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
) [/LEFT]

your activity : اکتیویتی که کد ها داخلش هس

و حالا کد های اکتیویتی :

Sub Activity_create
Dim int1 As Intent
int1 = Activity.GetStartingIntent
If int1 <> Null Then
Try
Dim sContent As String = int1.ExtrasToString.SubString(int1.ExtrasToString.IndexOf("content://")).Replace("}", "").Replace("]", "")


Dim bitmp As ImageView
bitmp.Initialize("")
bitmp.Gravity = Bit.OR(Gravity.FILL, Gravity.CENTER)
bitmp.Bitmap = LoadBitmap(GetPathFromContentResult(sContent), "")
Activity.AddView(bitmp, 0, 0, 100%x, 100%y)


Catch
Log(LastException.Message)
End Try
End If 
End Sub




Sub GetPathFromContentResult(UriString As String) As String
If UriString.StartsWith("/")
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

تابع GetPathFromContentResult که در بالا استفاده شده اشتباه داره.

 

من تابع صحیح رو قرار می دم.

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
لینک ارسال
به اشتراک گذاری در سایت های دیگر

من فکر کنم اگه شما بخواین یه پسوند رو درون برنامتون بازکنین گوشی خودش بین نرم افزارهایی که اون پسوند رو بازمیکنن open with میکنه و شما لازم نیست کاری کنین

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

بایگانی شده

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

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

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