میتوانید برنامهها را مستقیماً از یک صفحه وب در دستگاه Android با Android Intent راهاندازی کنید. میتوانید یک ژست کاربر برای راهاندازی برنامه با یک طرح سفارشی اجرا کنید یا intent:
syntax استفاده کنید.
یک لنگر قصد بسازید و آن را در یک صفحه جاسازی کنید تا کاربر بتواند برنامه را راه اندازی کند. این امکان انعطاف پذیری را برای نحوه و زمان راه اندازی برنامه ها فراهم می کند، به این معنی که می توانید اطلاعات را با Intent Extras به برنامه منتقل کنید.
نحو اصلی برای یک URI مبتنی بر هدف به شرح زیر است:
intent:
HOST/URI-path // Optional host
#Intent;
package=\[string\];
action=\[string\];
category=\[string\];
component=\[string\];
scheme=\[string\];
end;
برای تجزیه جزئیات به کد منبع Android مراجعه کنید.
وقتی یک intent حل نمی شود یا یک برنامه خارجی راه اندازی نمی شود، کاربر می تواند به URL بازگشتی هدایت شود. می توانید یک URL بازگشتی را با یک Intent Extra مشخص کنید:
S.browser_fallback_url=[encoded_full_url]
از S.<name>
برای تعریف Intent Extras استفاده کنید. این اضافی خاص سازگار با عقب است. Chrome browser_fallback_url
را حذف میکند تا برنامه هدف این مقدار را نبیند.
Chrome در موارد زیر یک برنامه خارجی راهاندازی نمیکند:
- نیت قابل حل نیست. به عبارت دیگر، هیچ برنامه ای نمی تواند هدف را مدیریت کند.
- یک تایمر جاوا اسکریپت سعی کرد یک برنامه را بدون اشاره کاربر باز کند.
نمونه ها
در اینجا هدفی وجود دارد که برنامه اسکنر بارکد Zxing را راه اندازی می کند:
intent:
//scan/
#Intent;
package=com.google.zxing.client.android;
scheme=zxing;
end;
برای راه اندازی برنامه اسکنر بارکد Zxing، href
خود را روی لنگر رمزگذاری کنید:
<a href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;end">
Take a QR code
</a>
مانیفست Android Zxing را ببینید که بسته و میزبان را تعریف می کند.
هنگامی که یک URL بازگشتی مشخص می شود، URL کامل به صورت زیر است:
<a href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;S.browser_fallback_url=http%3A%2F%2Fzxing.org;end">
Take a QR code
</a>
اکنون URL کاربران را به zxing.org
میفرستد، اگر برنامه پیدا نشود، پیوند توسط جاوا اسکریپت بدون اشاره کاربر فعال میشود، یا موارد دیگری که ما یک برنامه خارجی راهاندازی نمیکنیم.
ملاحظات
اگر یک فعالیت Android را با هدفی که حاوی موارد اضافی است فراخوانی کنید، می توانید این جزئیات را نیز درج کنید.
فقط فعالیتهای دارای فیلتر دسته، android.intent.category.BROWSABLE را میتوان با استفاده از این روش فراخوانی کرد، زیرا نشان میدهد که برنامه از طریق مرورگر باز میشود.
Chrome برنامه خارجی را برای یک Intent URI معین راهاندازی نمیکند اگر:
- Intent URI از یک URL تایپ شده هدایت می شود.
- Intent URI بدون اشاره کاربر شروع می شود.