برنامه خود را با درک کارهایی که کاربران انجام می دهند تطبیق دهید

دستگاه های تلفن همراه برای بسیاری به بخشی از زندگی روزمره تبدیل شده اند. کاربران شما در طول روز هنگام رانندگی، راه رفتن، ورزش، کار و بازی تلفن همراه خود را دارند.

درک آنچه کاربران در دنیای فیزیکی انجام می دهند به برنامه شما اجازه می دهد تا در مورد نحوه تعامل با آنها هوشمندتر باشد. به عنوان مثال، یک برنامه می تواند شروع به ردیابی ضربان قلب کاربر در هنگام شروع به کار کند، یک برنامه دیگر می تواند زمانی که متوجه شود کاربر شروع به رانندگی کرده است، به حالت ماشین تغییر کند.

Activity Recognition API بر روی حسگرهای موجود در دستگاه ساخته شده است. حسگرهای دستگاه بینش هایی را در مورد آنچه کاربران در حال حاضر انجام می دهند ارائه می دهند. با این حال، با ده ها سیگنال از چندین سنسور و تغییرات جزئی در نحوه انجام کارها توسط افراد، تشخیص آنچه کاربران انجام می دهند آسان نیست.

Activity Recognition API به طور خودکار فعالیت‌ها را با خواندن دوره‌ای کوتاه داده‌های حسگر و پردازش آنها با استفاده از مدل‌های یادگیری ماشین شناسایی می‌کند. برای بهینه‌سازی منابع، اگر دستگاه برای مدتی ساکن بوده باشد، API ممکن است گزارش فعالیت را متوقف کند و از حسگرهای کم مصرف برای از سرگیری گزارش هنگام تشخیص حرکت استفاده کند.

اطلاعات مربوط به فعالیت ها را با استفاده از حداقل منابع دریافت کنید

برخی از برنامه‌ها علاقه دارند بدانند کاربر چه زمانی فعالیت خاصی را شروع یا متوقف می‌کند. به عنوان مثال، یک برنامه ردیابی مسافت پیموده شده می تواند هنگامی که کاربر شروع به رانندگی می کند، مایل ها را ردیابی کند، یا یک برنامه پیام رسانی می تواند تمام مکالمات را تا زمانی که کاربر رانندگی را متوقف کند، بی صدا کند.

Activity Recognition Transition API این سناریوها را با انجام کارهای سنگین مرتبط با تشخیص تغییرات در فعالیت کاربر فعال می کند. برنامه شما مشترک یک انتقال در فعالیت های مورد علاقه می شود و API فقط در صورت نیاز به برنامه شما اطلاع می دهد. برای تشخیص زمان شروع یا پایان یک فعالیت، نیازی به پیاده سازی اکتشافی پیچیده ندارید.

Activity Recognition API نتایج خود را به یک callback ارائه می دهد که معمولاً به عنوان IntentService در برنامه شما پیاده سازی می شود. نتایج در فواصل زمانی که شما مشخص می‌کنید ارائه می‌شوند، یا برنامه شما می‌تواند از نتایج درخواستی سایر مشتریان بدون مصرف انرژی اضافی استفاده کند.

می‌توانید با استفاده از PendingIntent به API بگویید که چگونه نتایج را ارائه دهد، که نیاز به اجرای مداوم یک سرویس در پس‌زمینه برای اهداف تشخیص فعالیت را از بین می‌برد. برنامه شما Intents های مربوطه را از API دریافت می کند، فعالیت های شناسایی شده را استخراج می کند و تصمیم می گیرد که آیا اقدامی انجام دهد یا خیر. فراخوانی سرویس تنها زمانی که یک فعالیت دریافت می شود، منابعی مانند حافظه را حفظ می کند.

Activity Recognition API کارهای سنگین را با پردازش سیگنال های دستگاه برای شناسایی فعالیت های جاری انجام می دهد. برنامه شما لیستی از فعالیت های شناسایی شده را دریافت می کند که هر کدام شامل ویژگی های confidence و type است.

ویژگی confidence نشان دهنده این احتمال است که کاربر در حال انجام فعالیت نشان داده شده در نتیجه است. ویژگی type نشان دهنده فعالیت شناسایی شده دستگاه نسبت به موجودات در دنیای فیزیکی است، به عنوان مثال، دستگاه روی دوچرخه است یا دستگاه روی کاربری است که در حال کار است .