آیا می دانید(...)
خوب می خوایم توی این قسمت یه چالش بزاریم :
آیا می دانید چطور وقتی ما یه مطلبی را می خوایم به اشتراک بزاریم توی یه اپ یا روی یه لینک کلیک می کنیم یا می خوایم ایمیلش کنیم اندروید چجوری می فهمه که کدوم اپ ها مناسب هستند برای این کار؟!!!!!
اگه بخوایم نرم افزاری که ما می نویسم هم توی لیست نرم افزارایی که می تونن مثلا یه عکس رو به اشتراک بذارن،توسط سیستم عامل اندروید، نمایش داده بشه،باید از intent-filter استفاده کنیم.
برای مثال باید یه همچین چیزی رو تو AndroidManifest بنویسیم :
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*"/>
</intent-filter>
این کار باعث میشه که وقتی که کاربر بخواد یه عکس رو به اشتراک بذاره،نرم افزار شما هم توی لیست اشتراک نمایش داده بشه.(البته باید کدای لازم برای دریافت اون عکس ارسالی از اینتنت ، رو هم توی نرم افزارتون بنویسید...).
سایر mimeType ها :
برای فایل صوتی : "*/audio"
برای فایل تصویری : "*/video"
و ...
برای تشخیص لینک ها برای اون اکتیوتی که باید Intent رو بگیره بصورت زیر کد میزنید :
<activity
android:name="com.freestyler.satrap.Acivity.ActivityNews"
android:configChanges="keyboard|keyboardHidden|orientation"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.VIEW" >
</action>
<category android:name="android.intent.category.DEFAULT" >
</category>
<category android:name="android.intent.category.BROWSABLE" >
</category>
<data
android:host="kangannews.ir"
android:scheme="http" >
</data>
<data
android:host="salas.ir"
android:scheme="http" >
</data>
</intent-filter>
</activity>
بصورت زیر هم دیتا رو دریافت میکنید در اکتیوتی مورد نظر :
Uri uri = intent.getData();
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .