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

تبدیل برنامه من به عنوان برنامه پیشنهادی


morteza520

سوال

با سلام

 

چطور میتونم برنامه خودم رو به عنوان برنامه پیشنهادی گوشی تبدیل کنم

 

منظورم اینه که مثلا کاربر میاد از فایل منیجر یه فیلم یا موسیقی و یا یه فایل دیگه رو کلیک میکنه و گوشی یه سری برنامه رو برای بازکردن اون فایل پیشنهاد میکنه، میخوام برنامه من هم جزو برنامه های پیشنهادی برای بازکردن اون فایل باشه که کاربر اونو انتخاب کنه.

 

امیدوارم تونسته باشم منظورم رو برسونم.

 

با تشکر

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

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

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

سلام،

قاعدتا باید به شکل زیر باشه:

از منوی Project گزینه Android Manifest رو انتخاب کنید و تمام کدهایی که @Gray Mind عزیز گذاشتن رو به این شکل در انتهاش قرار بدید:

AddActivityText(BaseActivity,<intent-filter>
<action android:name="android.intent.action.MUSIC_PLAYER" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.APP_MUSIC" />
<category android:name="android.intent.category.MULTIWINDOW_LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="content" />
<data android:host="media" />
<data android:mimeType="audio/*" />
<data android:mimeType="application/ogg" />
<data android:mimeType="application/x-ogg" />
<data android:mimeType="application/itunes" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="file" />
<data android:mimeType="audio/*" />
<data android:mimeType="application/ogg" />
<data android:mimeType="application/x-ogg" />
<data android:mimeType="application/itunes" />
</intent-filter>)

 

BaseActivity نام اون Activity هستش که قراره عملیات اجرا رو انجام بده، شما نام Activity خودتون رو قرار بدید.

بنده صرفا کدهای ایشون رو در قالب قابل استفاده برای Basic4Android گفتم. دقت نکردم که ببینم مشکلتون رو حل میکنه یا نه! ولی با یه نگاه اجمالی به نظرم مشکلی نداره. حتی اگه مشکلی بود با کمی مطالعه در مورد Intent-Filterها رفع میشه.

ضمنا سه تا intent-filter آخری رو هم حذف کردم بابت اینکه به نظرم به کارتون نمیومد.

موفق باشید.

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

بعدش هم فکر کنم باید اینتنت شروع کننده رو بدست بیارید تا بتونید مشخصات فایل انتخابی مثل ادرس اون رو بدست بیارید. تو سرویس، StartingIntent رو خودش میده.

Sub Service_Start (StartingIntent As Intent)

End Sub

ولی تو اکتیویتی نمیدونم چجوری باید اینتنت شروع کننده رو بدست اورد . دوستان حرفه ای تر باید راهنمایی کنند.

قبلنا برنامش رو نوشته بودم . اگه پیدا کردم یا جزئیاتش یادم امد براتون قرار میدم.

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

بله درسته،

باید Intent رو در لحظه اجرا شدن تو اکتیویتی کنترلش کنید.

برای دریافت Intent ای که باعث اجرا شدن اکتیویتی شده، میتونید از کد زیر استفاده کنید:

	Dim startingIntent As Intent
	startingIntent = Activity.GetStartingIntent

و برای استفاده از مقادیر موجود در  Intent هم از کدهایی با ساختار زیر استفاده کنید (با توجه به نیازتون نام Key رو تغییر بدید):

	startingIntent.GetData
	startingIntent.GetExtra("key")

 

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

اگه میشه طریقه استفاده از intent رو هم توضیح بدید.

 

مثلا چیکار کنم که وقتی یه فایل صوتی یا تصویری انتخاب شد تو برنامه من اجرا بشه.

یعنی اینکه چطور از مقادیری که گفتید استفاده کنم

با تشکر

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

سلام. ادرس فایل رو با

GetExtra("key")

بگیرید.

کلیدی که مقدار ادرس فایل رو داره. یادم نمیاد چی بود ولی فکر کنم بتونید با کد زیر اون رو پیدا کنید. این جور که نوشته تمام ایتم های extra رو به string تبدیل میکنه

Dim i As Intent = Activity.GetStartingIntent
log(i.ExtrasToString)

فرمت ادرس هم نمیدونم شاید نیاز به ویرایش داشته باشه.

برای پخش فایل های صوتی از media player می تونید استفاده کنید.

برای پخش فایل ویدئویی از کتابخانه audio می تونید استفاده کنید.

برای تصاویر هم از همون imageview می تونید استفاده کنید.

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

در در 1396/10/08, 19:59:52، مهران محمودی گفته است :

بله درسته،

باید Intent رو در لحظه اجرا شدن تو اکتیویتی کنترلش کنید.

برای دریافت Intent ای که باعث اجرا شدن اکتیویتی شده، میتونید از کد زیر استفاده کنید:


	Dim startingIntent As Intent
	startingIntent = Activity.GetStartingIntent

و برای استفاده از مقادیر موجود در  Intent هم از کدهایی با ساختار زیر استفاده کنید (با توجه به نیازتون نام Key رو تغییر بدید):


	startingIntent.GetData
	startingIntent.GetExtra("key")

 

ممنون مشکلم حل شد

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

سلام کد دقیقش یادم نیست و نتونستم کدش رو که قبلا داشتم پیدا کنم. ولی تا جایی که یادمه باید از intent-filter در مانیفست استفاده کنید.

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

من تازگیا یه موزیک پلیر درست کرده بودم که باید برای اپ ها پیشنهادی هم میاورد طبیعتا واسه همین دنبال این موضوع بودم

در اصل توی جاوا اینطوریه 

البته بستگی داره فایلتون چی باشه و طبق همون mimetype هارو عوض کنید که ماله من برای موزیک هستش

حالا بیسیک رو نمیدونم چجوری استفاده میشه که خودتون باید یه کاریش بکنید:hi:

 

<activity
            android:name=".BaseActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MUSIC_PLAYER" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.APP_MUSIC" />
                <category android:name="android.intent.category.MULTIWINDOW_LAUNCHER" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="content" />
                <data android:host="media" />
                <data android:mimeType="audio/*" />
                <data android:mimeType="application/ogg" />
                <data android:mimeType="application/x-ogg" />
                <data android:mimeType="application/itunes" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />

                <data android:scheme="file" />
                <data android:mimeType="audio/*" />
                <data android:mimeType="application/ogg" />
                <data android:mimeType="application/x-ogg" />
                <data android:mimeType="application/itunes" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data android:scheme="http" />
                <data android:mimeType="audio/*" />
                <data android:mimeType="application/ogg" />
                <data android:mimeType="application/x-ogg" />
                <data android:mimeType="application/itunes" />
            </intent-filter>
            <intent-filter>
                <action android:name="ir.boxmusic.mfa.AUDIO_PLAYER" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <intent-filter>
                <action android:name="com.cyanogenmod.eleven.AUDIO_PLAYER" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

 

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

بایگانی شده

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

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

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