تعریف سازگاری Android 1.6

تعریف سازگاری اندروید: اندروید 1.6
اندروید 1.6 r2
شرکت گوگل.
compatibility@android.com

فهرست مطالب
1. معرفی ............................................... ................................................ ................. 4
2. منابع ..................................... ................................................ ...................... 4
3. نرم افزار ...................................... ................................................ .......................... 5
3.1. سازگاری API مدیریت شده ...................................................... ................................ 5
3.2. سازگاری نرم افزار API ..................................................... ................................................ 6
3.2.1. مجوزها ................................................ ................................................ ... 6
3.2.2. پارامترهای ساخت ................................................ ................................................ 6
3.2.3. سازگاری قصد ................................................ .......................................... 8
3.2.3.1. اهداف اصلی برنامه ..................................................... ............................ 8
3.2.3.2. نادیده گرفتن قصد ................................................ ................................ 8
3.2.3.3. فضاهای نام هدف ................................................ ................................ 8
3.2.3.4. اهداف پخش ................................................ ................................ 9
3.3. سازگاری Native API ...................................... ................................... 9
3.4. سازگاری Web API ...................................... ................................................ 9
3.5. سازگاری رفتاری API ..................................................... ................................ 10
3.6. فضاهای نام API................................................ ................................................ 10
3.7. سازگاری با ماشین مجازی ................................................ ................................ 11
3.8. سازگاری با رابط کاربری ...................................... ................................ 11

3.8.1. ابزارک ها ................................................ ................................................ ........ 11
3.8.2. اطلاعیه ................................................. ................................................ 12
3.8.3. جستجو کردن ................................................. ................................................ .......... 12
3.8.4. نان تست................................................ ................................................ ........... 12

4. سازگاری نرم افزار مرجع ...................................... ................................ 12
5. سازگاری بسته بندی برنامه ...................................... ................................ 13
6. سازگاری چند رسانه ای ................................................ ................................................ 13
7. سازگاری با ابزار توسعه دهنده................................................ .......................................... 14
8. سازگاری سخت افزاری ...................................... ................................................ 15
8.1. نمایش دادن ................................................. ................................................ ................ 15
8.1.1. تنظیمات صفحه نمایش استاندارد ..................................................... ................. 15
8.1.2. تنظیمات نمایشگر غیر استاندارد ...................................... ........... 16
8.1.3. معیارهای نمایش ................................................ ................................................ 16

8.2. صفحه کلید ................................................ ................................................ ........... 16
8.3. ناوبری غیر لمسی ...................................... ................................................ 16
8.4. جهت صفحه نمایش ................................................ ...................................... 17
8.5. ورودی صفحه لمسی ...................................................... ...................................... 17
8.6. یو اس بی ................................................. ................................................ ...................... 17
8.7. کلیدهای ناوبری ..................................................... ................................................ .. 17
8.8. وای فای ................................................. ................................................ ...................... 17
8.9. دوربین ................................................. ................................................ .............. 18
8.9.1. دوربین های بدون فوکوس خودکار ................................................ ................................. 18
8.10. شتاب سنج ................................................ ................................................ .. 18
8.11. قطب نما ................................................ ................................................ .......... 19
8.12. GPS ................................................ ................................................ ................... 19
8.13. تلفن................................................. ................................................ ......... 19
8.14. کنترل صدا................................................ ................................................ 19

9. سازگاری با عملکرد ................................................ ...................................... 19
10. سازگاری با مدل امنیتی ...................................... ................................ 20
10.1. مجوزها ................................................ ................................................ ..... 20
10.2. جداسازی کاربر و فرآیند ................................................ ................................ 20
10.3. مجوزهای سیستم فایل................................................ ...................................... 21
11. مجموعه تست سازگاری ...................................... ...................................... 21

12. تماس با ما ...................................... ................................................ ................. 21
ضمیمه الف: مقاصد مورد نیاز برنامه ............................................ ...................... 22
ضمیمه B: اهداف مورد نیاز پخش ............................................ .......................... 0
ضمیمه ج: ملاحظات آینده ...................................... ................................ 0

1. دستگاه های غیر تلفنی ...................................... ...................................... 30
2. سازگاری با بلوتوث ...................................... ...................................... 30
3. اجزای سخت افزاری مورد نیاز ...................................... ................................ 30
4. نمونه برنامه های کاربردی ...................................... ................................................ 30
5. صفحه های لمسی ...................................... ................................................ ......... 30
6. عملکرد ...................................... ................................................ ........... 31

1. معرفی
این سند شرایطی را که باید برای تلفن همراه رعایت شود، برشمرده است
سازگار با اندروید 1.6 این تعریف آشنایی با برنامه سازگاری اندروید را فرض می کند
[منابع، 1].
استفاده از "باید"، "نباید"، "لازم"، "باید"، "نباید"، "نباید"، "نباید"، "توصیه"،
"می" و "اختیاری" طبق استاندارد IETF تعریف شده در RFC2119 [ منابع ، 2] است.
همانطور که در این سند استفاده می شود، "پیاده کننده دستگاه" یا "اجرا کننده" شخص یا سازمانی است که در حال توسعه است
یک راه حل سخت افزاری/نرم افزاری با اندروید 1.6. "پیاده سازی دستگاه" یا "پیاده سازی" است
راه حل سخت افزاری/نرم افزاری تا این حد توسعه یافته است.
برای سازگاری با Android 1.6، پیاده سازی های دستگاه:
1. باید الزامات ارائه شده در این تعریف سازگاری، از جمله هر سندی را برآورده کند
از طریق مرجع گنجانده شده است.
2. باید مجموعه تست سازگاری Android (CTS) را که به عنوان بخشی از Android Open موجود است، بگذرانید
پروژه منبع [ منابع ، 3]. CTS بیشتر، اما نه همه مؤلفه های ذکر شده در این را آزمایش می کند
سند
در صورتی که این تعریف یا CTS بی‌صدا، مبهم یا ناقص باشد، مسئولیت آن بر عهده دستگاه است.
پیاده کننده برای اطمینان از سازگاری با پیاده سازی های موجود. به همین دلیل، Android Open
پروژه منبع [ منابع ، 4] هم مرجع و هم پیاده سازی ترجیحی اندروید است. دستگاه
پیاده‌سازها به شدت تشویق می‌شوند که پیاده‌سازی‌های خود را بر اساس کد منبع «بالادستی» قرار دهند
در دسترس از پروژه متن باز Android. در حالی که برخی از اجزا به صورت فرضی قابل تعویض هستند
با اجرای جایگزین، این عمل به شدت منع می شود، زیرا گذراندن آزمون های CTS تبدیل خواهد شد
به طور قابل ملاحظه ای دشوارتر این مسئولیت اجراکننده است که از سازگاری کامل رفتاری با
اجرای استاندارد اندروید، از جمله و فراتر از مجموعه تست سازگاری.
2. منابع
این تعریف سازگاری به تعدادی از منابعی اشاره می کند که می توان در اینجا به دست آورد.
1. مروری بر برنامه سازگاری اندروید: https://sites.google.com/a/android.com/compatibility/
چگونه کار می کند
2. سطوح مورد نیاز IETF RFC2119: http://www.ietf.org/rfc/rfc2119.txt
3. مجموعه تست سازگاری: http://sites.google.com/a/android.com/compatibility/compatibility-test-
مجموعه --cts
4. پروژه متن باز اندروید: http://source.android.com/
5. تعاریف و مستندات API: http://developer.android.com/reference/packages.html
6. ارائه دهندگان محتوا: http://code.google.com/android/reference/android/provider/package-
summary.html
7. منابع موجود: http://code.google.com/android/reference/available-resources.html
8. فایل‌های مانیفست اندروید: http://code.google.com/android/devel/bblocks-manifest.html
9. مرجع مجوزهای اندروید: http://developer.android.com/reference/android/
Manifest.permission.html
10. Build Constants: http://developer.android.com/reference/android/os/Build.html
11. WebView: http://developer.android.com/reference/android/webkit/WebView.html
12. برنامه های افزودنی مرورگر Gears: http://code.google.com/apis/gears/

13. مشخصات ماشین مجازی Dalvik، در فهرست راهنمای dalvik/docs یک کد منبع یافت می شود.
وارسی؛ همچنین در http://android.git.kernel.org/?p=platform/ موجود است
dalvik.git;a=tree;f=docs;h=3e2ddbcaf7f370246246f9f03620a7caccbfcb12;hb=HEAD

14. AppWidgets: http://developer.android.com/guide/practices/ui_guidelines/widget_design.html
15. اعلان ها: http://developer.android.com/guide/topics/ui/notifiers/notifications.html
16. راهنمای سبک نماد نوار وضعیت: http://developer.android.com/guide/practices/ui_guideline
/icon_design.html#statusbarstructure
17. مدیر جستجو: http://developer.android.com/reference/android/app/SearchManager.html
18. نان تست: http://developer.android.com/reference/android/widget/Toast.html
19. برنامه‌ها برای اندروید: http://code.google.com/p/apps-for-android
20. توضیحات فایل apk اندروید: http://developer.android.com/guide/topics/fundamentals.html
21. Android Debug Bridge (adb): http://code.google.com/android/reference/adb.html
22. Dalvik Debug Monitor Service (ddms): http://code.google.com/android/reference/ddms.html
23. میمون: http://developer.android.com/guide/developing/tools/monkey.html
24. مستندات نمایش استقلال:
25. ثابت های پیکربندی: http://developer.android.com/reference/android/content/res/
Configuration.html
26. معیارهای نمایش: http://developer.android.com/reference/android/util/DisplayMetrics.html
27. دوربین: http://developer.android.com/reference/android/hardware/Camera.html
28. فضای مختصات حسگر: http://developer.android.com/reference/android/hardware/
SensorEvent.html
29. مرجع امنیت و مجوزهای اندروید: http://developer.android.com/guide/topics/security/
security.html
بسیاری از این منابع به طور مستقیم یا غیرمستقیم از Android 1.6 SDK مشتق شده اند و خواهند بود
از نظر عملکردی با اطلاعات موجود در اسناد آن SDK یکسان است. در هر موردی که این
تعریف سازگاری با مستندات SDK مخالف است، مستندات SDK در نظر گرفته می شود
معتبر هر گونه جزئیات فنی ارائه شده در مراجع ذکر شده در بالا با گنجاندن در نظر گرفته می شود
بخشی از این تعریف سازگاری باشید.
3. نرم افزار
پلتفرم اندروید شامل مجموعه ای از APIهای مدیریت شده ("سخت") و بدنه ای از API های به اصطلاح "نرم" است.
مانند سیستم Intent، APIهای کد بومی و APIهای کاربردی وب. این بخش جزئیات سخت و
API‌های نرم‌افزاری که در سازگاری و همچنین برخی دیگر از رابط‌های فنی و کاربری مرتبط با سازگاری یکپارچه هستند
رفتار. پیاده سازی دستگاه باید با تمام الزامات این بخش مطابقت داشته باشد.
3.1. سازگاری API مدیریت شده
محیط اجرای مدیریت شده (مبتنی بر دالویک) وسیله اصلی برنامه های اندروید است. این
رابط برنامه نویسی برنامه اندروید (API) مجموعه ای از رابط های پلتفرم اندروید است که در معرض آن قرار می گیرند
برنامه هایی که در محیط VM مدیریت شده اجرا می شوند. پیاده سازی دستگاه باید کامل باشد
پیاده سازی، از جمله تمام رفتارهای مستند، هر API مستندی که توسط Android در معرض دید قرار گرفته است
1.6 SDK، مانند:
1. APIهای اصلی اندروید به زبان جاوا [منابع، 5].
2. ارائه دهندگان محتوا [منابع ، 6].
3. منابع [منابع، 7].
4. ویژگی ها و عناصر AndroidManifest.xml [منابع، 8].

پیاده سازی دستگاه نباید هیچ گونه API مدیریت شده را حذف کند، رابط ها یا امضاهای API را تغییر دهد، منحرف شود
از رفتار مستند، یا شامل موارد بدون عملیات، به جز مواردی که به طور خاص توسط این سازگاری مجاز است
تعریف.
3.2. سازگاری نرم افزار API
علاوه بر APIهای مدیریت شده از بخش 3.1، Android همچنین دارای یک "نرم" فقط زمان اجرا قابل توجه است.
API، در قالب مواردی مانند Intent ها، مجوزها و جنبه های مشابه برنامه های Android
که در زمان کامپایل برنامه قابل اجرا نیست. این بخش به جزئیات APIها و سیستم "نرم" می پردازد
رفتارهای مورد نیاز برای سازگاری با Android 1.6. پیاده سازی دستگاه باید تمام موارد را برآورده کند
الزامات ارائه شده در این بخش
3.2.1. مجوزها
پیاده‌کننده‌های دستگاه باید تمام ثابت‌های مجوز را همانطور که توسط سازمان ثبت شده است، پشتیبانی و اجرا کنند
صفحه مرجع مجوز [ منابع ، 9]. توجه داشته باشید که بخش 10 الزامات اضافی مربوط به را فهرست می کند
مدل امنیتی اندروید
3.2.2. ساخت پارامترها
APIهای Android شامل تعدادی ثابت در کلاس android.os.Build [Resources, 10] هستند که
برای توصیف دستگاه فعلی در نظر گرفته شده است. برای ارائه مقادیر ثابت و معنادار در سراسر دستگاه
جدول زیر شامل محدودیت‌های اضافی در قالب‌های این مقادیر است
پیاده سازی دستگاه باید مطابقت داشته باشد.
پارامتر
نظرات
نسخه سیستم اندروید در حال اجرا، به صورت انسانی
android.os.Build.VERSION.RELEASE
قالب قابل خواندن برای Android 1.6، این فیلد باید دارای مقدار رشته باشد
"1.6".
نسخه سیستم اندروید در حال اجرا، در قالب
android.os.Build.VERSION.SDK
برای کد برنامه شخص ثالث قابل دسترسی است. برای اندروید 1.6 این فیلد
باید مقدار صحیح 4 را داشته باشد.
مقداری که توسط پیاده‌کننده دستگاه انتخاب می‌شود که ساخت خاص را تعیین می‌کند
از سیستم اندروید در حال اجرا، در قالب قابل خواندن توسط انسان.
این مقدار نباید برای ساخت‌های مختلفی که تا انتها ارسال می‌شوند دوباره استفاده شود
کاربران android.os.Build.VERSION.INCREMENTAL. یک استفاده معمولی از این فیلد نشان دادن شماره ساخت یا
شناسه تغییر منبع-کنترل برای تولید بیلد استفاده شد. آنجا
هیچ الزامی در قالب خاص این زمینه وجود ندارد، به جز اینکه آن
نباید تهی یا رشته خالی ("") باشد.
مقداری که توسط پیاده‌کننده دستگاه انتخاب می‌شود که داخلی خاص را شناسایی می‌کند
سخت افزار مورد استفاده دستگاه، در قالب قابل خواندن توسط انسان. یک استفاده احتمالی
android.os.Build.BOARD
این فیلد برای نشان دادن تجدید نظر خاص برد تغذیه کننده است
دستگاه هیچ الزامی در قالب خاص این زمینه وجود ندارد،
به جز اینکه نباید تهی یا رشته خالی ("") باشد.
مقداری که توسط پیاده‌کننده دستگاه انتخاب شده و نام آن را مشخص می‌کند
android.os.Build.BRAND
شرکت، سازمان، فرد و غیره که دستگاه را تولید کرده اند، در
قالب قابل خواندن برای انسان استفاده ممکن از این فیلد نشان دادن OEM است

و/یا شرکت مخابراتی که دستگاه را فروخته است. هیچ الزامی در مورد وجود ندارد
فرمت خاص این فیلد، با این تفاوت که نباید خالی یا خالی باشد
رشته ("").
مقداری که توسط پیاده‌کننده دستگاه انتخاب می‌شود و مشخص می‌شود
پیکربندی یا تجدید نظر بدن (که گاهی اوقات به آن "صنعتی" می گویند
android.os.Build.DEVICE
طراحی") دستگاه. هیچ الزامی در قالب خاص وجود ندارد
از این فیلد، با این تفاوت که نباید تهی یا رشته خالی ("") باشد.
رشته ای که به طور منحصر به فرد این ساخت را مشخص می کند. باید منطقی باشد
قابل خواندن برای انسان باید از این الگو پیروی کند:
$(PRODUCT_BRAND)/$(PRODUCT_NAME)/$(PRODUCT_DEVICE)/
$(TARGET_BOOTLOADER_BOARD_NAME):$(PLATFORM_VERSION)/
$(BUILD_ID)/$(BUILD_NUMBER):$(TARGET_BUILD_VARIANT)/
android.os.Build.FINGERPRINT
$(BUILD_VERSION_TAGS)
به عنوان مثال: acme/mydevicel/generic/generic:donut/ERC77/
3359:usrdbug/test-keys
اثر انگشت نباید دارای فاصله باشد. اگر فیلدهای دیگری در
الگوی بالا دارای فاصله است، آنها باید با ASCII جایگزین شوند
کاراکتر زیر خط ("_") در اثر انگشت.
رشته ای که به طور منحصر به فرد میزبانی را که ساخت بر روی آن ساخته شده است، در انسان شناسایی می کند
android.os.Build.HOST
قالب قابل خواندن هیچ الزامی در قالب خاص این وجود ندارد
فیلد، با این تفاوت که نباید تهی یا رشته خالی ("") باشد.
شناسه ای که توسط پیاده کننده دستگاه برای ارجاع به یک مورد خاص انتخاب شده است
انتشار، در قالب قابل خواندن توسط انسان. این فیلد می تواند با همان
android.os.Build.VERSION.INCREMENTAL، اما باید یک مقدار باشد
android.os.Build.ID
در نظر گرفته شده است که تا حدودی برای کاربران نهایی معنادار باشد. وجود ندارد
الزامات مربوط به فرمت خاص این زمینه، با این تفاوت که نباید
null یا رشته خالی ("") باشد.
مقداری که توسط پیاده‌کننده دستگاه انتخاب شده و حاوی نام
دستگاهی که برای کاربر نهایی شناخته شده است. این باید به همین نام باشد
android.os.Build.MODEL
که تحت آن دستگاه به بازار عرضه شده و به کاربران نهایی فروخته می شود. وجود ندارد
الزامات مربوط به فرمت خاص این زمینه، با این تفاوت که نباید
null یا رشته خالی ("") باشد.
یک مقدار انتخاب شده توسط پیاده‌کننده دستگاه که شامل توسعه است
نام یا رمز دستگاه باید برای انسان قابل خواندن باشد، اما اینطور نیست
android.os.Build.PRODUCT
لزوما برای مشاهده توسط کاربران نهایی در نظر گرفته شده است. هیچ الزامی وجود ندارد
در قالب خاص این فیلد، با این تفاوت که نباید null یا null باشد
رشته خالی ("").
فهرستی از برچسب‌های جدا شده با کاما که توسط پیاده‌کننده دستگاه انتخاب شده است
ساخت را بیشتر متمایز می کند. به عنوان مثال، "unsigned, debug". این زمینه
android.os.Build.TAGS
نباید تهی یا رشته خالی ("") باشد، بلکه یک تگ واحد (مانند
"رها") خوب است.
android.os.Build.TIME
مقداری که نشان‌دهنده مُهر زمانی زمان وقوع ساخت است.
مقداری که توسط پیاده‌کننده دستگاه انتخاب شده و زمان اجرا را مشخص می‌کند
پیکربندی ساخت. این فیلد باید یکی از مقادیر را داشته باشد
android.os.Build.TYPE
مربوط به سه پیکربندی معمول زمان اجرا اندروید: "user"،
"userdbug" یا "eng".
نام یا شناسه کاربری کاربر (یا کاربر خودکار) که آن را ایجاد کرده است
android.os.Build.USER
ساختن. هیچ الزامی در قالب خاص این زمینه وجود ندارد،
به جز اینکه نباید تهی یا رشته خالی ("") باشد.

3.2.3. سازگاری قصد
Android از Intent برای دستیابی به یکپارچگی آزادانه بین برنامه‌ها استفاده می‌کند. این بخش توضیح می دهد
الزامات مربوط به الگوهای Intent که باید توسط پیاده سازی دستگاه رعایت شوند. توسط
"با افتخار"، منظور این است که پیاده‌کننده دستگاه باید یک فعالیت، سرویس یا موارد دیگر Android ارائه دهد
مؤلفه‌ای که یک فیلتر Intent منطبق را مشخص می‌کند و به آن متصل می‌شود و رفتار صحیح را برای هر کدام پیاده‌سازی می‌کند
الگوی هدف مشخص شده
3.2.3.1. اهداف اصلی برنامه
پروژه بالادستی اندروید تعدادی برنامه اصلی را تعریف می کند، مانند شماره گیر تلفن، تقویم،
کتاب مخاطبین، پخش کننده موسیقی و غیره. پیاده‌کننده‌های دستگاه ممکن است این برنامه‌ها را جایگزین کنند
نسخه های جایگزین
با این حال، هر گونه نسخه جایگزین باید از همان الگوهای Intent ارائه شده توسط بالادست پیروی کند
پروژه (به عنوان مثال، اگر دستگاهی حاوی یک پخش کننده موسیقی جایگزین باشد، همچنان باید الگوی Intent را رعایت کند
توسط برنامه های شخص ثالث برای انتخاب آهنگ صادر شده است.) پیاده سازی دستگاه باید از همه الگوهای Intent پشتیبانی کند.
فهرست شده در ضمیمه A.
3.2.3.2. نادیده گرفتن قصد
از آنجایی که اندروید یک پلتفرم قابل توسعه است، پیاده‌کننده‌های دستگاه باید به هر الگوی Intent که در آن توضیح داده شده است اجازه دهند
ضمیمه A باید توسط برنامه های شخص ثالث لغو شود. پروژه متن باز اندروید بالادست
به طور پیش فرض این اجازه را می دهد. پیاده‌کننده‌های دستگاه نباید امتیازات خاصی را به برنامه‌های سیستمی متصل کنند.
استفاده از این الگوهای Intent، یا جلوگیری از اتصال برنامه های شخص ثالث به آنها و کنترل آن ها
این الگوها این ممنوعیت به طور خاص شامل غیرفعال کردن رابط کاربری "انتخاب کننده" است که اجازه می دهد
کاربر بین برنامه های متعددی که همگی الگوی Intent یکسانی دارند، انتخاب کند.
3.2.3.3. Intent Namespaces
پیاده‌کننده‌های دستگاه نباید هیچ مؤلفه Android را که هر قصد یا Intent جدید را رعایت می‌کند، شامل شوند
پخش الگوهای هدف با استفاده از ACTION، CATEGORY یا رشته کلیدهای دیگر در فضای نام android.*.
پیاده‌کننده‌های دستگاه نباید شامل هیچ مؤلفه‌ای برای Android باشند که به هر Intent یا جدید احترام می‌گذارد
الگوهای هدف پخش با استفاده از ACTION، CATEGORY یا رشته کلیدهای دیگر در فضای بسته
متعلق به سازمان دیگری پیاده‌کننده‌های دستگاه نباید هیچ یک از Intent را تغییر داده یا گسترش دهند
الگوهای ذکر شده در ضمیمه های A یا B.
این ممنوعیت مشابه آن چیزی است که برای کلاس های زبان جاوا در بخش 3.6 مشخص شده است.

3.2.3.4. اهداف پخش
برنامه های شخص ثالث برای پخش Intent های خاص به پلتفرم متکی هستند تا تغییرات در آن را به آنها اطلاع دهند
محیط سخت افزاری یا نرم افزاری دستگاه های سازگار با Android باید پخش عمومی را پخش کنند
مقاصد در پاسخ به رویدادهای سیستم مناسب. فهرستی از اهداف پخش مورد نیاز در ارائه شده است
ضمیمه B؛ با این حال، توجه داشته باشید که SDK ممکن است اهداف پخش اضافی را تعریف کند، که باید نیز باشد
مفتخر شد.
3.3. سازگاری Native API
کدهای مدیریت شده در حال اجرا در Dalvik می توانند به کد بومی ارائه شده در فایل apk. برنامه به عنوان ELF فراخوانی کنند.
فایل .so برای معماری سخت افزاری دستگاه مناسب کامپایل شده است. پیاده سازی دستگاه باید شامل باشد
پشتیبانی از کدهای در حال اجرا در محیط مدیریت شده برای فراخوانی کد بومی با استفاده از جاوا استاندارد
معناشناسی رابط بومی (JNI). APIهای زیر باید برای کد بومی در دسترس باشند:
libc (کتابخانه C)
libm (کتابخانه ریاضی)
رابط JNI
libz (فشرده سازی Zlib)
liblog (ورود به سیستم اندروید)
حداقل پشتیبانی از C++
OpenGL ES 1.1
این کتابخانه ها باید با منبع سازگار (به عنوان مثال سازگار با هدر) و سازگار با دودویی (برای یک مورد خاص) باشند.
معماری پردازنده) با نسخه های ارائه شده در Bionic توسط پروژه متن باز اندروید. از آنجا که
پیاده سازی های Bionic به طور کامل با سایر پیاده سازی ها مانند GNU C سازگار نیستند
کتابخانه، پیاده‌کنندگان دستگاه باید از پیاده‌سازی اندروید استفاده کنند. اگر مجریان دستگاه از الف استفاده کنند
اجرای متفاوت این کتابخانه ها، باید از سازگاری هدر و باینری اطمینان حاصل کنند.
سازگاری کد بومی چالش برانگیز است. به همین دلیل، ما می خواهیم تکرار کنیم که پیاده کننده های دستگاه هستند
به شدت تشویق می شود که از پیاده سازی های بالادستی کتابخانه های ذکر شده در بالا برای کمک استفاده کنید
اطمینان از سازگاری
3.4. سازگاری Web API
بسیاری از توسعه دهندگان و برنامه ها به رفتار کلاس android.webkit.WebView [ منابع ،
11] برای رابط کاربری آنها، بنابراین پیاده سازی WebView باید در سراسر Android سازگار باشد
پیاده سازی ها پیاده سازی متن باز اندروید از نسخه موتور رندر WebKit استفاده می کند
WebView را پیاده سازی کنید.
از آنجا که توسعه یک مجموعه آزمایشی جامع برای یک مرورگر وب، پیاده‌کننده‌های دستگاه، امکان‌پذیر نیست
باید از ساخت بالادستی خاص WebKit در پیاده سازی WebView استفاده کنید. به طور مشخص:
• WebView باید از ساخت 528.5+ WebKit از درخت متن باز Android بالادستی استفاده کند.
اندروید 1.6. این ساخت شامل مجموعه خاصی از عملکردها و اصلاحات امنیتی برای WebView است.
• رشته عامل کاربر گزارش شده توسط WebView باید در این قالب باشد:
Mozilla/5.0 (Linux; U; Android 1.6; <language>-<country>; <device
نام>; Build/<build ID>) AppleWebKit/528.5+ (KHTML، مانند Gecko)
نسخه/3.1.2 موبایل سافاری/525.20.1

◦ رشته "<Device name>" باید با مقدار برای یکسان باشد
android.os.Build.MODEL
◦ رشته "<build ID>" باید با مقدار android.os.Build.ID یکسان باشد.
◦ رشته های "<language>" و "<country>" باید از قراردادهای معمول برای
کد کشور و زبان، و SHOULD به محلی فعلی دستگاه در
زمان درخواست
پیاده سازی ها ممکن است یک رشته عامل کاربر سفارشی را در برنامه مرورگر مستقل ارسال کنند. چه
بیشتر، ممکن است مرورگر مستقل مبتنی بر فناوری مرورگر جایگزین (مانند فایرفاکس،
Opera، و غیره) با این حال، حتی اگر یک برنامه مرورگر جایگزین ارسال شود، مؤلفه WebView
همانطور که در بالا به برنامه های شخص ثالث ارائه می شود، باید بر اساس WebKit باشد.
برنامه مرورگر مستقل باید شامل پشتیبانی از Gears [ Resources, 12] و MAY باشد.
شامل پشتیبانی از برخی یا همه HTML5 باشد.
3.5. سازگاری رفتاری API
رفتارهای هر یک از انواع API (مدیریت شده، نرم، بومی و وب) باید با
پیاده سازی ترجیحی اندروید از پروژه منبع باز Android در دسترس است.
برخی از زمینه های خاص سازگاری عبارتند از:
• دستگاه ها نباید رفتار یا معنای یک هدف استاندارد را تغییر دهند
• دستگاه ها نباید چرخه حیات یا چرخه حیات معنایی نوع خاصی از سیستم را تغییر دهند
جزء (مانند سرویس، فعالیت، ارائه دهنده محتوا و غیره)
• دستگاه ها نباید معنای یک مجوز خاص را تغییر دهند
لیست بالا جامع نیست و مسئولیت اطمینان از رفتار بر عهده پیاده‌کنندگان دستگاه است
سازگاری به همین دلیل، پیاده‌کنندگان دستگاه باید از کد منبع موجود از طریق استفاده کنند
پروژه متن باز Android در صورت امکان، به جای اجرای مجدد بخش های قابل توجهی از سیستم.
مجموعه تست سازگاری (CTS) بخش های قابل توجهی از پلتفرم را برای سازگاری رفتاری آزمایش می کند.
اما نه همه اطمینان از سازگاری رفتاری با اندروید بر عهده اجراکننده است
پروژه متن باز
3.6. فضاهای نام API
اندروید از قراردادهای فضای نام بسته و کلاس تعریف شده توسط برنامه نویسی جاوا پیروی می کند
زبان برای اطمینان از سازگاری با برنامه‌های شخص ثالث، اجراکنندگان دستگاه نباید بسازند
هر گونه تغییر ممنوعه (به زیر مراجعه کنید) در این فضاهای نام بسته:
• جاوا.*
• javax.*
• آفتاب.*
• اندروید.*
• com.android.*
تغییرات ممنوعه عبارتند از:
• پیاده سازی های دستگاه نباید API های در معرض عموم را در پلت فرم Android تغییر دهند
با تغییر هر روش یا امضای کلاس، یا با حذف کلاس ها یا فیلدهای کلاس.

• پیاده‌کننده‌های دستگاه ممکن است اجرای اساسی APIها را تغییر دهند، اما چنین است
تغییرات نباید بر رفتار بیان شده و امضای زبان جاوا تأثیر بگذارد
APIهای در معرض عموم
• پیاده‌کننده‌های دستگاه نباید هیچ عنصری که به‌صورت عمومی در معرض دید قرار می‌گیرد (مانند کلاس‌ها یا.) اضافه کنند
رابط‌ها، یا فیلدها یا روش‌های کلاس‌ها یا رابط‌های موجود) به APIهای بالا.
"عنصر در معرض عموم" هر ساختاری است که با نشانگر "@hide" در
کد منبع بالادستی اندروید به عبارت دیگر، پیاده‌کننده‌های دستگاه نباید APIهای جدید یا افشا کنند
APIهای موجود را در فضاهای نام ذکر شده در بالا تغییر دهید. پیاده‌کننده‌های دستگاه ممکن است فقط داخلی بسازند
تغییرات، اما این اصلاحات نباید تبلیغ شوند یا در معرض دید توسعه دهندگان قرار گیرند.
پیاده‌کننده‌های دستگاه ممکن است API‌های سفارشی اضافه کنند، اما چنین API‌هایی نباید در یک فضای نام متعلق به خود باشند.
توسط یا ارجاع به سازمان دیگری. برای مثال، پیاده‌کننده‌های دستگاه نباید API را به آن اضافه کنند
com.google.* یا فضای نام مشابه؛ فقط گوگل می تواند این کار را انجام دهد. به طور مشابه، Google نباید API را به آن اضافه کند
فضای نام شرکت های دیگر
اگر پیاده‌کننده دستگاه پیشنهاد کند یکی از فضاهای نام بسته بالا را بهبود بخشد (مانند افزودن
عملکرد جدید مفید به یک API موجود، یا افزودن یک API جدید)، پیاده‌کننده باید بازدید کند
source.android.com و فرآیند کمک به تغییرات و کد را با توجه به
اطلاعات آن سایت
توجه داشته باشید که محدودیت‌های بالا با قراردادهای استاندارد برای نام‌گذاری APIها در جاوا مطابقت دارد
زبان برنامه نویسی؛ هدف این بخش صرفاً تقویت آن قراردادها و الزام آور ساختن آنهاست
از طریق گنجاندن در این تعریف سازگاری.
3.7. سازگاری با ماشین مجازی
یک دستگاه Android سازگار باید از مشخصات بایت کد کامل Dalvik Executable (DEX) پشتیبانی کند
معناشناسی ماشین مجازی دالویک [منابع، 13].
3.8. سازگاری با رابط کاربری
پلتفرم اندروید شامل برخی از API های توسعه دهنده است که به توسعه دهندگان اجازه می دهد تا به کاربر سیستم متصل شوند
رابط. پیاده‌سازی‌های دستگاه باید این APIهای استاندارد UI را در رابط‌های کاربر سفارشی بگنجانند
همانطور که در زیر توضیح داده شده است، توسعه می یابند.
3.8.1. ابزارک ها
Android یک نوع مؤلفه و API و چرخه حیات مربوطه را تعریف می کند که به برنامه ها اجازه می دهد تا در معرض دید قرار گیرند
یک "AppWidget" برای کاربر نهایی [منابع ، 14] . نسخه مرجع منبع باز اندروید شامل یک
برنامه راه‌اندازی که شامل عناصر رابط کاربری است که به کاربر امکان افزودن، مشاهده و حذف را می‌دهد
AppWidgets از صفحه اصلی.
پیاده‌کننده‌های دستگاه ممکن است جایگزینی را برای راه‌انداز مرجع (یعنی صفحه اصلی) جایگزین کنند.
راه‌اندازهای جایگزین باید شامل پشتیبانی داخلی برای AppWidgets باشند و رابط کاربری را در معرض نمایش قرار دهند
عناصری برای افزودن، مشاهده و حذف AppWidgets مستقیماً در Launcher. لانچرهای جایگزین ممکن است
این عناصر رابط کاربری را حذف کنید. با این حال، اگر آنها حذف شوند، پیاده‌کننده دستگاه باید a
برنامه جداگانه قابل دسترسی از Launcher که به کاربران امکان افزودن، مشاهده و حذف را می دهد
AppWidgets.

3.8.2. اطلاعیه
Android شامل APIهایی است که به توسعه دهندگان اجازه می دهد تا کاربران را از رویدادهای قابل توجه مطلع کنند [منابع، 15]. دستگاه
پیاده‌کننده‌ها باید برای هر دسته از اعلان‌هایی که به این شکل تعریف شده است، پشتیبانی ارائه دهند. به طور خاص: صداها،
لرزش، نور و نوار وضعیت.
علاوه بر این، پیاده سازی باید به درستی رندر شود و همه منابع (آیکون ها، فایل های صوتی و غیره)
در APIها [منابع، 7]، یا در راهنمای سبک نماد نوار وضعیت [منابع ، 16] ارائه شده است. دستگاه
پیاده‌کننده‌ها ممکن است یک تجربه کاربری جایگزین برای اعلان‌ها نسبت به تجربه ارائه‌شده توسط سازمان ارائه دهند
مرجع اجرای متن باز اندروید; با این حال، چنین سیستم های اطلاع رسانی جایگزین باید
همانطور که در بالا ذکر شد، از منابع اطلاع رسانی موجود پشتیبانی کنید.
3.8.3. جستجو کردن
Android شامل APIهایی است [منابع، 17] که به توسعه دهندگان اجازه می دهد جستجو را در برنامه های خود بگنجانند،
و داده های برنامه خود را در جستجوی سیستم جهانی قرار دهند. به طور کلی، این قابلیت
متشکل از یک رابط کاربری واحد و گسترده است که به کاربران اجازه می دهد پرس و جوها را وارد کنند، پیشنهادات را نمایش دهند
همانطور که کاربران تایپ می کنند و نتایج را نمایش می دهد. API های اندروید به توسعه دهندگان اجازه می دهد تا از این رابط برای ارائه مجدد استفاده کنند
در برنامه های خود جستجو کنید و به توسعه دهندگان اجازه دهید نتایج را به کاربر جستجوی جهانی مشترک ارائه دهند
رابط.
پیاده سازی های دستگاه باید شامل یک رابط کاربری جستجوی واحد، مشترک و در سراسر سیستم باشد که قادر به انجام آن باشد
پیشنهادات بلادرنگ در پاسخ به ورودی کاربر. پیاده سازی های دستگاه باید API هایی را پیاده سازی کنند که
به توسعه دهندگان اجازه می دهد تا از این رابط کاربری برای ارائه جستجو در برنامه های خود استفاده مجدد کنند.
پیاده‌سازی‌های دستگاه باید APIهایی را اجرا کنند که به برنامه‌های شخص ثالث اجازه اضافه کردن پیشنهادات را می‌دهند
وقتی در حالت جستجوی سراسری اجرا می شود، به کادر جستجو بروید. اگر هیچ برنامه شخص ثالثی نصب نشده باشد که
با استفاده از این قابلیت، رفتار پیش فرض باید نمایش نتایج موتور جستجوی وب باشد
پیشنهادات.
پیاده سازی دستگاه ممکن است رابط های کاربر جستجوی جایگزین را ارسال کند، اما باید شامل یک رابط کاربری سخت یا نرم باشد
دکمه جستجوی اختصاصی، که می تواند در هر زمان در هر برنامه برای فراخوانی چارچوب جستجو استفاده شود،
با رفتار ارائه شده در اسناد API.
3.8.4. نان تست
برنامه‌ها می‌توانند از «Toast» API (تعریف شده در [ منابع، 18]) برای نمایش رشته‌های کوتاه غیرمدال در
کاربر نهایی، که پس از مدت کوتاهی ناپدید می شوند. پیاده سازی دستگاه باید نان تست از را نمایش دهد
برنامه های کاربردی برای کاربران نهایی به شیوه ای با دید بالا.
4. سازگاری نرم افزار مرجع
پیاده‌کننده‌های دستگاه باید سازگاری پیاده‌سازی را با استفاده از منبع باز زیر آزمایش کنند
برنامه های کاربردی:
• ماشین حساب (شامل در SDK)
• Lunar Lander (شامل در SDK)
• ApiDemos (شامل در SDK)
• برنامه های «برنامه های اندروید» [ منابع، 19]
هر برنامه بالا باید راه اندازی شود و در اجرای آن به درستی رفتار کند تا پیاده سازی شود

سازگار در نظر گرفته شده است.
5. سازگاری بسته بندی برنامه
پیاده سازی های دستگاه باید فایل های Android ".apk" را همانطور که توسط ابزار "aapt" تولید شده است نصب و اجرا کنند.
در Android SDK رسمی [ منابع ، 20] گنجانده شده است.
پیاده‌سازی دستگاه‌ها نباید apk.، Manifest یا بایت کد Dalvik را گسترش دهند.
فرمت ها به گونه ای است که از نصب و اجرای صحیح آن فایل ها بر روی دیگر جلوگیری می کند
دستگاه های سازگار پیاده‌کننده‌های دستگاه باید از پیاده‌سازی مرجع بالادستی Dalvik استفاده کنند،
و سیستم مدیریت بسته پیاده سازی مرجع.
6. سازگاری چند رسانه ای
یک دستگاه Android سازگار باید از کدک های چند رسانه ای زیر پشتیبانی کند. همه این کدک ها هستند
به عنوان پیاده سازی نرم افزار در پیاده سازی ترجیحی اندروید از Android Open ارائه شده است
پروژه منبع [ منابع ، 4].
لطفاً توجه داشته باشید که نه Google و نه Open Handset Alliance هیچ گونه نمایندگی از این موارد ندارند
کدک ها توسط پتنت های شخص ثالث بدون محدودیت هستند. کسانی که قصد استفاده از این کد منبع را در سخت افزار یا
به محصولات نرم افزاری توصیه می شود که پیاده سازی این کد، از جمله در نرم افزار منبع باز یا
اشتراک‌افزار، ممکن است از دارندگان حق ثبت اختراع مربوطه نیاز به مجوز ثبت اختراع داشته باشد.
سمعی
نام

جزئیات رمزگذار رمزگذار
فایل های پشتیبانی شده
محتوای مونو/استریو در هر
3GPP (.3gp) و
ترکیبی از نرخ بیت استاندارد
MPEG-4 (mp4, .m4a)
AAC LC/LTP
ایکس
تا 160 کیلوبیت بر ثانیه و سرعت نمونه برداری از فایل ها. بدون پشتیبانی از خام
بین 8 تا 48 کیلوهرتز
AAC (.aac)
محتوای مونو/استریو در هر
3GPP (.3gp) و
HE-AACv1
ترکیبی از نرخ بیت استاندارد
MPEG-4 (mp4, .m4a)
ایکس
(AAC+)
تا 96 کیلوبیت بر ثانیه و سرعت نمونه برداری از فایل ها. بدون پشتیبانی از خام
بین 8 تا 48 کیلوهرتز
AAC (.aac)
محتوای مونو/استریو در هر
HE-AACv2
3GPP (.3gp) و
ترکیبی از نرخ بیت استاندارد
(تقویت شده
MPEG-4 (mp4, .m4a)
ایکس
تا 96 کیلوبیت بر ثانیه و نرخ نمونه برداری
AAC+)
فایل ها. بدون پشتیبانی از خام
بین 8 تا 48 کیلوهرتز
AAC (.aac)
AMR-NB
4.75 تا 12.2 kbps نمونه برداری شده @
فایل های 3GPP (.3gp).
ایکس
ایکس
8 کیلوهرتز
AMR-WB
9 نرخ از 6.60 kbit/s تا 23.85
فایل های -3GPP (.3gp).
ایکس
kbit/s نمونه برداری شده با فرکانس 16 کیلوهرتز
MP3
فایل های MP3 (mp3) ثابت 8-320 کیلوبیت بر ثانیه مونو/استریو
ایکس
(CBR) یا نرخ بیت متغیر (VBR)
نوع 0 و 1 (.mid، .xmf،
MIDI TYPE 0 و 1. DLS نسخه 1
MIDI
ایکس
.mxmf). همچنین rtttl/rtx
و 2. XMF و موبایل XMF.
(.rtttl ، .rtx) ، ota (.ota) ،

پشتیبانی از قالب های زنگ
و imelody (.imy)
rtttl/rtx ، ota و imelody
اوگ وربیس
.ogg
ایکس
PCM خطی 8- و 16 بیتی (نرخ بالا
PCM
ایکس
موج
برای محدود کردن سخت افزار)
تصویر
فایل ها
نام
جزئیات رمزگذار رمزگذار
پشتیبانی
JPEG
ایکس
ایکس
پایه+مترقی
GIF
ایکس
PNG
ایکس
ایکس
BMP
ایکس
ویدیو
فایل ها
نام
جزئیات رمزگذار رمزگذار
پشتیبانی
3GPP (.3gp)
H.263
ایکس
ایکس
فایل ها
3GPP (.3gp)
H.264
ایکس
و MPEG-4
(.mp4) پرونده ها
MPEG4
ایکس
پرونده 3gpp (.3gp)
SP
7. سازگاری ابزار توسعه دهنده
پیاده سازی دستگاه باید از ابزارهای توسعه دهنده Android ارائه شده در Android SDK پشتیبانی کند.
به طور خاص ، دستگاه های سازگار با اندرویدی باید با:
پل اشکال زدایی اندرویدی یا ADB [منابع ، 21]
پیاده سازی های دستگاه باید از تمام عملکردهای ADB مطابق آنچه در Android ثبت شده است پشتیبانی کند
SDK. Daemon ADB در سمت دستگاه باید به طور پیش فرض غیرفعال باشد ، اما باید یک کاربر وجود داشته باشد
مکانیسم در دسترس برای روشن کردن پل اشکال زدایی اندرویدی.
سرویس مانیتور اشکال زدایی Dalvik یا DDMS [منابع ، 22]
پیاده سازی دستگاه باید از تمام ویژگی های DDMS همانطور که در Android SDK ثبت شده است ، پشتیبانی کند.
همانطور که DDMS از ADB استفاده می کند ، پشتیبانی از DDM ها باید به طور پیش فرض غیرفعال باشد ، اما باید پشتیبانی شود
هر زمان که کاربر مانند بالا ، پل اشکال زدایی اندرویدی را فعال کرده است.

میمون [منابع ، 23]
پیاده سازی دستگاه باید شامل چارچوب میمون باشد و آن را در دسترس قرار دهد
برنامه هایی برای استفاده
8. سازگاری سخت افزار
Android برای پشتیبانی از مجریان دستگاه ایجاد عوامل و تنظیمات شکل نوآورانه در نظر گرفته شده است.
در عین حال توسعه دهندگان Android از سخت افزار ، سنسورها و API های خاص در تمام Android انتظار دارند
دستگاه در این بخش ویژگی های سخت افزاری که همه دستگاه های سازگار با Android 1.6 باید از آنها پشتیبانی کنند ، ذکر شده است. که در
Android 1.6 ، اکثر ویژگی های سخت افزاری (مانند WiFi ، قطب نما و شتاب سنج) مورد نیاز است.
اگر یک دستگاه شامل یک مؤلفه سخت افزار خاص است که دارای API مربوطه برای شخص ثالث است
توسعه دهندگان ، اجرای دستگاه باید آن API را مطابق با Android SDK اجرا کند
مستندات.
8.1. نمایش دادن
Android 1.6 شامل امکاناتی است که برخی از عملیات مقیاس گذاری و تحول را در زیر انجام می دهند
برخی از شرایط ، برای اطمینان از اینکه برنامه های شخص ثالث به طور منطقی روی سخت افزار اجرا می شوند
پیکربندی هایی که آنها لزوماً به صراحت طراحی نشده اند [منابع ، 24] . دستگاه ها باید
به طور صحیح این رفتارها را اجرا کنید ، همانطور که در این بخش شرح داده شده است.
8.1.1. پیکربندی های نمایش استاندارد
در این جدول تنظیمات صفحه استاندارد در نظر گرفته شده با Android سازگار است:
مورب
اندازه صفحه نمایش
تراکم صفحه
نوع صفحه نمایش
عرض (پیکسل)
ارتفاع (پیکسل)
دامنه طول
گروه
گروه
(اینچ)
qvga
240
320
2.6 - 3.0
کم اهمیت
کم
WQVGA
240
400
3.2 - 3.5
طبیعی
کم
fwqvga
240
432
3.5 - 3.8
طبیعی
کم
HVGA
320
480
3.0 - 3.5
طبیعی
متوسط
WVGA
480
800
3.3 - 4.0
طبیعی
بالا
FWVGA
480
854
3.5 - 4.0
طبیعی
بالا
WVGA
480
800
4.8 - 5.5
بزرگ
متوسط
FWVGA
480
854
5.0 - 5.8
بزرگ
متوسط
پیاده سازی های دستگاه مربوط به یکی از تنظیمات استاندارد فوق باید پیکربندی شود
برای گزارش اندازه صفحه نمایش شده به برنامه ها از طریق Android.Content.Res.Configuration [ منابع ،
25] کلاس.
برخی از بسته های .APK آشکارا هایی دارند که آنها را به عنوان پشتیبانی از یک دامنه چگالی خاص معرفی نمی کنند.
هنگام اجرای چنین برنامه هایی ، محدودیت های زیر اعمال می شود:

• پیاده سازی دستگاه باید هر منابعی را که به طور پیش فرض در آن وجود دارد ، تفسیر کند
"متوسط" (معروف به "MDPI" در مستندات SDK.)
• هنگام کار با صفحه چگالی "کم" ، پیاده سازی دستگاه باید متوسط ​​باشد/
دارایی MDPI توسط یک عامل 0.75.
• هنگام کار با صفحه چگالی "بالا" ، پیاده سازی دستگاه باید متوسط ​​باشد/
دارایی های MDPI توسط یک عامل 1.5.
• پیاده سازی دستگاه نباید دارایی در محدوده چگالی باشد و باید مقیاس شود
دارایی ها دقیقاً این عوامل بین دامنه چگالی.
8.1.2. تنظیمات نمایشگر غیر استاندارد
پیکربندی هایی را که با یکی از تنظیمات استاندارد ذکر شده در بخش 8.2.1 مطابقت ندارد ، نمایش دهید
توجه و کار اضافی برای سازگار بودن. مجریان دستگاه باید با Android تماس بگیرند
تیم سازگاری همانطور که در بخش 12 پیش بینی شده است برای به دست آوردن طبقه بندی برای سطل اندازه صفحه ، تراکم ،
و عامل مقیاس گذاری در صورت ارائه این اطلاعات ، اجرای دستگاه باید آنها را پیاده سازی کند
همانطور که مشخص شده است
توجه داشته باشید که برخی از تنظیمات نمایشگر (مانند صفحه های بسیار بزرگ یا بسیار کوچک و برخی نسبت های ابعاد)
اساساً با Android 1.6 ناسازگار هستند. بنابراین مجریان دستگاه به آن تشویق می شوند
با تیم سازگاری اندروید در اسرع وقت در فرآیند توسعه تماس بگیرید.
8.1.3. معیارهای نمایش
پیاده سازی دستگاه باید مقادیر صحیح را برای کلیه معیارهای نمایشگر تعریف شده گزارش کند
android.util.displaymetrics [منابع ، 26].
8.2. صفحه کلید
پیاده سازی دستگاه:
• باید پشتیبانی از چارچوب مدیریت ورودی را شامل شود (که به شخص ثالث اجازه می دهد
توسعه دهندگان برای ایجاد موتورهای مدیریت ورودی - یعنی صفحه کلید نرم)
Developer.android.com
• باید حداقل یک اجرای صفحه کلید نرم را ارائه دهد (صرف نظر از سخت بودن
صفحه کلید موجود است)
• ممکن است شامل پیاده سازی های اضافی صفحه کلید نرم باشد
• ممکن است شامل صفحه کلید سخت افزار باشد
• نباید صفحه کلید سخت افزاری را شامل شود که با یکی از قالب های مشخص شده مطابقت نداشته باشد
در Android.content.res.configuration [ منابع ، 25] (یعنی Qwerty یا 12-key)
8.3. ناوبری غیر لمسی
پیاده سازی دستگاه:
• ممکن است گزینه های ناوبری غیر لمسی را از بین ببرد (یعنی ممکن است یک پیست ، پد جهت دار 5 طرفه ، یا
چرخ)
• باید از طریق android.content.res.configuration گزارش دهید [منابع ، 25] مقدار صحیح برای
سخت افزار دستگاه

8.4. جهت صفحه نمایش
دستگاه های سازگار باید از جهت گیری پویا توسط برنامه هایی برای پرتره یا منظره پشتیبانی کنند
جهت گیری صفحه نمایش. یعنی دستگاه باید به درخواست برنامه برای یک صفحه خاص احترام بگذارد
گرایش. اجرای دستگاه ممکن است به عنوان پیش فرض ، پرتره یا جهت گیری چشم انداز را انتخاب کند.
دستگاه ها باید هر زمان که از طریق آن پرس و جو شوند ، مقدار صحیحی را برای جهت گیری فعلی دستگاه گزارش دهند
android.content.res.configuration.orientation ، android.view.display.getorientation () یا سایر API ها.
8.5. ورودی صفحه لمسی
پیاده سازی دستگاه:
• باید یک صفحه لمسی داشته باشد
• ممکن است صفحه لمسی خازنی یا مقاومتی داشته باشد
• باید ارزش Android.content.res.configuration [ منابع ، 25] را منعکس کند
مطابق با نوع صفحه لمسی خاص در دستگاه
8.6. یو اس بی
پیاده سازی دستگاه:
• باید یک مشتری USB را پیاده سازی کنید ، با یک درگاه USB-A استاندارد به یک میزبان USB متصل شوید
• باید پل اشکال زدایی Android را از طریق USB پیاده سازی کنید (همانطور که در بخش 7 توضیح داده شده است)
• باید یک مشتری ذخیره انبوه USB را برای ذخیره سازی قابل جابجایی/رسانه در آن اجرا کنید
دستگاه
• باید از ضریب فرم میکرو USB در سمت دستگاه استفاده کند
• باید پشتیبانی از مشخصات ذخیره انبوه USB را اجرا کند (به گونه ای که قابل جابجایی باشد
یا از طریق رایانه میزبان قابل دسترسی است)
• ممکن است یک درگاه غیر استاندارد را در سمت دستگاه قرار دهد ، اما در این صورت باید با کابل قادر به حمل و نقل باشد
اتصال Pinout سفارشی به درگاه USB-A استاندارد
8.7. کلیدهای ناوبری
توابع خانگی ، منو و پشتی برای الگوی ناوبری اندرویدی ضروری است. دستگاه
پیاده سازی ها باید این توابع را بدون در نظر گرفتن برنامه در همه زمان ها در دسترس کاربر قرار دهند
حالت. این توابع باید از طریق دکمه های اختصاصی اجرا شوند. آنها ممکن است اجرا شوند
استفاده از نرم افزار ، حرکات ، پنل لمسی و غیره ، اما در این صورت آنها باید همیشه در دسترس باشند و مبهم نباشند
در منطقه نمایش برنامه کاربردی موجود تداخل داشته باشید.
مجریان دستگاه همچنین باید یک کلید جستجوی اختصاصی را ارائه دهند. مجریان دستگاه نیز ممکن است
کلیدهای ارسال و پایان را برای تماس تلفنی تهیه کنید.
8.8. وای فای
پیاده سازی دستگاه باید از 802.11b و 802.11g پشتیبانی کند و ممکن است از 802.11a پشتیبانی کند.

8.9. دوربین
پیاده سازی دستگاه باید شامل یک دوربین باشد. دوربین موجود:
• باید حداقل 2 مگاپیکسل وضوح داشته باشد
• باید یا فوکوس خودکار سخت افزار یا نرم افزاری را که در دوربین اجرا شده است داشته باشد
درایور (شفاف به نرم افزار برنامه)
• ممکن است سخت افزار فوکوس ثابت یا EDOF (عمق گسترده فیلد) داشته باشد
• ممکن است شامل یک فلاش باشد. اگر دوربین شامل یک فلاش باشد ، لامپ فلش نباید در حالی که وجود دارد روشن شود
android.hardware.camera.previewcallback نمونه در پیش نمایش دوربین ثبت شده است
سطح
اجرای دستگاه باید رفتارهای زیر را برای API های مربوط به دوربین پیاده سازی کند
[منابع ، 27] :
1. اگر یک برنامه هرگز Android.Hardware.Camera.Parameters.SetPreviewFormat (int) را صدا نکرده است ،
سپس دستگاه برای پیش نمایش باید از android.hardware.pixelformat.ycbcr_420_sp استفاده کند
ارائه شده به تماس های برنامه.
2. اگر یک برنامه یک نمونه android.hardware.camera.previewcallback را ثبت کند و
وقتی فرمت پیش نمایش YCBCR_420_SP است ، سیستم از روش onpreviewframe () فراخوانی می کند.
داده های موجود در بایت [] به onpreviewframe () منتقل شده است باید بیشتر در قالب رمزگذاری NV21 باشد.
(این فرمی است که به طور بومی توسط خانواده سخت افزار 7K استفاده می شود.) یعنی NV21 باید پیش فرض باشد.
8.9.1. دوربین های فوکوس فوکوس
اگر دستگاه فاقد دوربین فوکوس خودکار باشد ، مجری دستگاه باید نیازهای اضافی را برآورده کند
این بخش. پیاده سازی دستگاه باید API کامل دوربین موجود در Android 1.6 را پیاده سازی کند
مستندات SDK به روش منطقی ، صرف نظر از قابلیت های واقعی سخت افزار دوربین.
برای Android 1.6 ، اگر دوربین فاقد تمرکز خودکار باشد ، اجرای دستگاه باید به موارد زیر رعایت کند:
1. این سیستم باید شامل یک ویژگی سیستم فقط خواندنی با نام "Ro.WorkAround.NoAutofocus" باشد
با مقدار "1". این مقدار در نظر گرفته شده است که توسط برنامه هایی مانند Android Market به آن استفاده شود
به صورت انتخابی قابلیت های دستگاه را شناسایی کنید و در نسخه بعدی Android با a جایگزین می شود
API قوی
2. اگر یک برنامه با Android.hardware.camera.Autofocus () تماس بگیرد ، سیستم باید با آن تماس بگیرد
روش برگشت به تماس با فوکوس () در هر ثبت شده
Android.Hardware.Camera.AutoFocusCallback ، حتی اگر در واقع هیچ تمرکز
اتفاق افتاد این برای جلوگیری از شکستن برنامه های موجود با انتظار برای همیشه برای فوکوس خودکار است
تماس تلفنی که هرگز نخواهد آمد.
3. فراخوانی به روش خودکار فوکوسک.
چارچوب در یک رویداد جدید در موضوع اصلی Looper Framework. یعنی Camera.AutoFocus ()
از آنجا که این امر باعث نقض Android می شود ، نباید مستقیماً تماس بگیرید.
مدل نخ چارچوب و برنامه ها را می شکند.
8.10. شتاب سنج
پیاده سازی دستگاه باید شامل یک شتاب سنج 3 محور باشد و باید بتواند رویدادهایی را در AT ارائه دهد
حداقل 50 هرتز سیستم مختصات مورد استفاده توسط شتاب سنج باید با سنسور اندرویدی مطابقت داشته باشد
سیستم مختصات در ANDROID API [منابع ، 28].

8.11. قطب نما
اجرای دستگاه باید شامل یک قطب نما 3 محوره باشد و باید حداقل بتواند رویدادها را ارائه دهد
10 هرتز سیستم مختصات مورد استفاده قطب نما باید با مختصات سنسور اندرویدی مطابقت داشته باشد
سیستم همانطور که در API Android تعریف شده است [منابع ، 28].
8.12. جی پی اس
پیاده سازی دستگاه باید شامل یک GPS باشد و باید نوعی "GPS کمک شده" را شامل شود
تکنیک برای به حداقل رساندن زمان قفل GPS.
8.13. تلفن
پیاده سازی دستگاه:
• باید شامل تلفن GSM یا CDMA باشد
• باید API های مناسب را مطابق با اسناد Android SDK در آن اجرا کند
Developer.android.com
توجه داشته باشید که این نیاز به این معنی است که دستگاه های غیر تلفن با Android 1.6 سازگار نیستند. اندروید
1.6 دستگاه باید شامل سخت افزار تلفنی باشد. لطفاً برای اطلاعات در مورد غیر تلفنی به پیوست C مراجعه کنید
دستگاه ها
8.14. کنترل های میزان صدا
دستگاه های سازگار با Android باید مکانیسمی را شامل شود تا کاربر بتواند افزایش و کاهش دهد
حجم صوتی پیاده سازی دستگاه باید این توابع را همیشه در دسترس کاربر قرار دهد ،
صرف نظر از وضعیت برنامه این توابع ممکن است با استفاده از کلیدهای سخت افزاری فیزیکی اجرا شوند ،
نرم افزار ، حرکات ، پانل لمسی و غیره ، اما آنها باید همیشه در دسترس باشند و مبهم نباشند یا دخالت کنند
با منطقه نمایش برنامه در دسترس (به صفحه نمایش در بالا مراجعه کنید).
هنگامی که از این دکمه ها استفاده می شود ، رویدادهای کلیدی مربوطه باید تولید و ارسال شوند
برنامه پیش زمینه اگر این رویداد توسط برنامه برنامه رهگیری و غرق نشده باشد
اجرای باید این رویداد را به عنوان یک کنترل حجم سیستم انجام دهد.
9. سازگاری عملکرد
یکی از اهداف برنامه سازگاری اندرویدی اطمینان از یک تجربه کاربردی مداوم برای
مصرف کنندگان پیاده سازی های سازگار نه تنها باید از برنامه های کاربردی به درستی اطمینان حاصل کنند
دستگاه ، اما آنها این کار را با عملکرد معقول و تجربه کلی کاربر خوب انجام می دهند.
پیاده سازی های دستگاه باید معیارهای کلیدی عملکرد یک دستگاه سازگار با Android 1.6 را برآورده کند ،
مانند جدول زیر:
متریک
آستانه عملکرد
نظرات

این توسط CTS آزمایش می شود.
برنامه های زیر
زمان راه اندازی به عنوان کل زمان اندازه گیری می شود
باید در داخل راه اندازی شود
بارگیری کامل فعالیت پیش فرض برای
کاربرد
زمان مشخص شده.
برنامه ، از جمله زمان لازم برای شروع
زمان راه اندازی
مرورگر: کمتر از 1300ms
فرآیند لینوکس ، بسته اندرویدی را در
MMS/SMS: کمتر از 700ms
Dalvik VM ، و تماس بگیرید.
زنگ هشدار: کمتر از 650ms
چندین برنامه کاربردی خواهد بود
این توسط CTS آزمایش می شود.
راه اندازی شد. راه اندازی مجدد
اولین برنامه همزمان باید
برنامه های کاربردی
کامل گرفتن کمتر از
زمان راه اندازی اصلی.
10. سازگاری مدل امنیتی
پیاده سازی دستگاه باید یک مدل امنیتی مطابق با امنیت پلت فرم Android را پیاده سازی کند
مدل همانطور که در سند مرجع امنیت و مجوزها در API ها تعریف شده است [منابع ، 29] در
مستندات توسعه دهنده Android. پیاده سازی دستگاه باید از نصب خود امضا شده پشتیبانی کند
برنامه های کاربردی بدون نیاز به مجوز/گواهینامه اضافی از طرف شخص ثالث/مقامات.
به طور خاص ، دستگاه های سازگار باید از مکانیسم های امنیتی زیر پشتیبانی کنند:
10.1. مجوزها
پیاده سازی دستگاه ها باید از مدل مجوزهای اندرویدی مطابق با Android پشتیبانی کنند
مستندات توسعه دهنده [ منابع ، 9]. به طور خاص ، پیاده سازی ها باید هر مجوز را اجرا کنند
همانطور که در مستندات SDK شرح داده شده است. هیچ مجوز ممکن نیست حذف ، تغییر یا نادیده گرفته شود.
پیاده سازی ها ممکن است مجوزهای اضافی را اضافه کنند ، مشروط بر اینکه رشته های مجوز جدید در این مورد نباشند
Android.* فضای نام.
10.2. جداسازی کاربر و پردازش
پیاده سازی های دستگاه باید از مدل Android Application Sandbox که در آن هر برنامه پشتیبانی می کند پشتیبانی کند
به عنوان یک UID منحصر به فرد UNIX و در یک فرآیند جداگانه اجرا می شود.
پیاده سازی دستگاه باید از اجرای چندین برنامه به عنوان شناسه کاربر Linux پشتیبانی کند ، ارائه شده
که برنامه ها به درستی امضا و ساخته شده اند ، همانطور که در امنیت و مجوزها تعریف شده است
مرجع [ منابع ، 29].

10.3. مجوزهای سیستم پرونده
پیاده سازی دستگاه باید از مدل مجوزهای دسترسی به پرونده Android همانطور که در آن تعریف شده است پشتیبانی کند
تعریف شده در مرجع امنیت و مجوزها [منابع ، 29].
11. مجموعه تست سازگاری
پیاده سازی دستگاه باید مجموعه تست سازگاری اندروید (CTS) را تصویب کند [ منابع ، 3] موجود
از پروژه منبع باز اندروید ، با استفاده از نرم افزار حمل و نقل نهایی در دستگاه. علاوه بر این،
مجریان دستگاه باید از اجرای مرجع در درخت منبع باز اندروید استفاده کنند
در حد امکان ، و باید از سازگاری در موارد ابهام در CTS و برای هر کس اطمینان حاصل کند
مجدداً بخش هایی از کد منبع مرجع.
CTS به گونه ای طراحی شده است که بر روی یک دستگاه واقعی اجرا شود. مانند هر نرم افزاری ، CTS ممکن است خود دارای اشکالات باشد.
CTS به طور مستقل از این تعریف سازگاری و بازنگری های متعدد از
CTS ممکن است برای Android 1.6 منتشر شود. با این حال ، چنین نسخه هایی فقط اشکالات رفتاری در CTS را برطرف می کند
آزمایشات و هیچ آزمایش ، رفتارهایی یا API جدید را برای انتشار پلت فرم خاص تحمیل نمی کند.
12. با ما تماس بگیرید
برای توضیحات مربوط به تیم سازگاری Android به آدرس catractibility@android.com می توانید تماس بگیرید
این تعریف سازگار و برای ارائه بازخورد در مورد این تعریف.

پیوست A: اهداف برنامه مورد نیاز
توجه: این لیست موقت است و در آینده به روز می شود.
اقدامات کاربردی
طرح های مختلف
(هیچ یک)
متن/ساده

http
متن/html
مرورگر
android.intent.action.view
https
application/xhtml+xml
کاربرد/
vnd.wap.xhtml+xml

(هیچ یک)
android.intent.action.web_search
http
(هیچ یک)
https
android.media.action.IMAGE_CAPTURE
Android.media.Action.Still_Image_Camera

دوربین
android.media.action.video_camera
android.media.action.video_capture

vnd.android.cursor.dir/
android.intent.action.view
تصویر
android.intent.action.get_content
vnd.android.cursor.dir/
android.intent.action.pick
ویدئو
android.intent.action.attach_data
تصویر/*
ویدئو/*

android.intent.action.view
RTSP
ویدئو/mp4
ویدئو/3gp

android.intent.action.view
http
ویدئو/3gpp
ویدئو/3gpp2

android.intent.action.dial
تلفن /
android.intent.action.view
تلفن
مخاطب
android.intent.action.call
android.intent.action.dial
vnd.android.cursor.dir/
android.intent.action.view
شخص

vnd.android.cursor.dir/
شخص
vnd.android.cursor.dir/

android.intent.action.pick
تلفن
vnd.android.cursor.dir/
آدرس پستی

vnd.android.cursor.item/
شخص
vnd.android.cursor.item/

android.intent.action.get_content
تلفن
vnd.android.cursor.item/
آدرس پستی

متن/ساده
پست الکترونیک
android.intent.action.send
تصویر/*
ویدئو/*

android.intent.action.view
mailto
android.intent.action.sendto
پیامک
android.intent.action.view
رفیق
sms / mms android.intent.action.sendto
mms
mmsto

سمعی/*
برنامه/ogg

موسیقی
android.intent.action.view
فایل
برنامه/X-Agg
برنامه/iTunes

صوتی/mp3
AUDIO/X-mp3

android.intent.action.view
http
صوتی/MPEG
AUDIO/MP4
AUDIO/MP4A-LATM

vnd.android.cursor.dir/
هنرمند
vnd.android.cursor.dir/
آلبوم
vnd.android.cursor.dir/

android.intent.action.pick
اکنون بازی
vnd.android.cursor.dir/
مسیر
nd.android.cursor.dir/
لیست پخش
vnd.android.cursor.dir/
ویدئو

رسانه ها/*
سمعی/*

android.intent.action.get_content
برنامه/ogg
برنامه/X-Agg
ویدئو/*


محتوا
بسته
android.intent.action.view
فایل
نصاب
بسته بندی
فایل
android.intent.action.package_install
http
https

android.intent.action.all_apps
android.settings.settings
android.settings.wireless_settings
android.settings.airplane_mode_settings
android.settings.wifi_settings
android.settings.apn_settings
android.settings.bluetooth_settings
android.settings.date_settings
android.settings.locale_settings

تنظیمات
android.settings.input_method_settings
com.android.settings.sound_settings
com.android.settings.display_settings
Android.settings.Security_Setting
android.settings.location_source_settings
android.settings.internal_storage_settings
android.settings.memory_card_settings
android.intent.action.set_wallpaper

جستجو کردن
android.intent.action.search
پرس و جو
android.intent.action.search_long_press
صدا
Android.intent.action.voice_command
مدیریت مخاطبین
اقدام هدف
شرح
فعالیتی را شروع می کند که به کاربر اجازه می دهد تا انتخاب کند
ضمیمه_ تصویر
یک مخاطب برای اتصال یک تصویر به.
استفاده شده
extra_create_description
با show_or_create_contact به
توضیحات دقیقی را مشخص کنید


نشان داده شده هنگام ترغیب کاربر در مورد
ایجاد یک مخاطب جدید.

استفاده شده
با show_or_create_contact
به
EXTRA_FORCE_CREATE
در صورت عدم ایجاد یک تماس جدید
تماس مطابق با همبستگی

این هدفی است که هنگام اخراج می شود
search_suggestion_licked
پیشنهاد جستجو روی کلیک می شود.
این هدفی است که هنگام اخراج می شود
search_suggestion_create_contact_clicked پیشنهاد جستجو برای ایجاد
تماس با کلیک بر روی
این هدفی است که هنگام اخراج می شود
search_suggestion_dial_number_clicked
پیشنهاد را برای شماره گیری یک شماره جستجو کنید
روی کلیک شده است

به عنوان ورودی یک داده URI با mailto وارد می شود:
show_or_create_contact
یا تلفن: طرح.

ضمیمه B: اهداف پخش مورد نیاز توجه: این لیست موقت است و خواهد بود
در آینده به روز شده است.

اقدام هدف
شرح
Action Broadcast: این یک بار ، بعد از
action_boot_completed
سیستم بوت شدن به پایان رسیده است.
اکشن پخش: این یک بار پخش می شود ، هنگامی که a
action_call_button
تماس دریافت می شود
اکشن پخش: "دکمه دوربین" بود
action_camera_button
فشرده شده است.
اکشن پخش: فعلی
action_configuration_changed
پیکربندی دستگاه (جهت گیری ، محلی و غیره)
تغییر کرد.
action_date_changed
اکشن پخش: تاریخ تغییر کرده است.
اکشن پخش: وضعیت حافظه کم را نشان می دهد
action_device_storage_low
روی دستگاه
اکشن پخش: وضعیت حافظه کم را نشان می دهد
action_device_storage_ok
در دستگاه دیگر وجود ندارد
اکشن پخش: هدست سیمی وصل شده یا
action_headset_plug
قطع شده
اکشن پخش: یک روش ورودی بوده است
action_input_method_changed
تغییر کرد.
اکشن پخش: رسانه های خارجی برداشته شدند
action_media_bad_removal
از شکاف کارت SD ، اما Mount Point نبود
سوار نشده
اکشن پخش: "دکمه رسانه" بود
action_media_button
فشرده شده است.
Action Broadcast: رسانه های خارجی حضور دارند ، و
در حال بررسی دیسک مسیر Mount Point برای
Action_Media_Checking
رسانه چک در موجود است
میدان intent.mdata.
Action Broadcast: کاربر ابراز تمایل کرده است
action_media_eject
رسانه ذخیره سازی خارجی را حذف کنید.
اکشن پخش: رسانه های خارجی موجود است و
action_media_mounted
در نقطه کوه آن سوار شده است.
Action Broadcast: رسانه های خارجی وجود دارد ، اما هست
با استفاده از یک FS ناسازگار (یا خالی) مسیر به
action_media_nofs
نقطه کوه برای رسانه چک است
موجود در قسمت intent.mdata.
اکشن پخش: رسانه های خارجی بوده است
action_media_removed
حذف شده.
اکشن پخش: اسکنر رسانه ای به پایان رسیده است
action_media_scanner_finished
اسکن یک دایرکتوری.
اکشن پخش: از اسکنر رسانه درخواست کنید
action_media_scanner_scan_file
یک پرونده را اسکن کرده و آن را به پایگاه داده رسانه اضافه کنید.

اکشن پخش: اسکنر رسانه شروع شده است
action_media_scanner_started
اسکن یک دایرکتوری.
اکشن پخش: رسانه های خارجی بدون شمارند
action_media_shared
زیرا از طریق ذخیره انبوه USB به اشتراک گذاشته می شود.
اکشن پخش: رسانه های خارجی حضور دارند اما
Action_Media_Unmountable
نمی توان نصب کرد.
اکشن پخش: رسانه های خارجی وجود دارد ، اما
action_media_unmounted
در نقطه کوه آن سوار نشده است.
Action Broadcast: یک تماس خروجی در حال انجام است
action_new_outing_call
قرار داده شده.
Action Broadcast: یک بسته برنامه جدید
action_package_added
روی دستگاه نصب شده است.
Action Broadcast: یک بسته برنامه موجود
action_package_changed
تغییر یافته است (به عنوان مثال یک مؤلفه بوده است
فعال یا غیرفعال.
Action Broadcast: کاربر داده های آن را پاک کرده است
یک بسته. این باید مقدم باشد
توسط action_package_restarted ، پس از آن
action_package_data_cleared
تمام داده های مداوم آن پاک شده است و این
پخش شده ارسال شده است. توجه داشته باشید که بسته پاک شده
این پخش را دریافت نمی کند. داده ها شامل
نام بسته
Action Broadcast: یک بسته برنامه موجود
از دستگاه حذف شده است. داده
action_package_removed
حاوی نام بسته است. بسته
این نصب شده است این هدف را دریافت نمی کند.
Action Broadcast: نسخه جدیدی از یک برنامه
action_package_repeded
بسته نصب شده است و جایگزین موجود است
نسخه ای که قبلاً نصب شده بود.
اکشن پخش: کاربر دوباره راه اندازی کرده است
بسته بندی ، و تمام مراحل آن کشته شده است.
تمام وضعیت زمان اجرا در ارتباط با آن (فرآیندها ،
action_package_restarted
هشدارها ، اعلان ها و غیره باید حذف شوند. توجه داشته باشید
که بسته راه اندازی مجدد این را دریافت نمی کند
پخش. داده ها حاوی نام
بسته بندی
اکشن پخش: برخی از ارائه دهندگان محتوا دارند
بخش هایی از فضای نام آنها که در آن جدید منتشر می کنند
Action_Provider_Changed
رویدادها یا مواردی که ممکن است کاربر باشد
علاقه مند به
action_screen_off
Action Broadcast: ارسال شده پس از خاموش شدن صفحه نمایش.
action_screen_on
Action Broadcast: ارسال شده پس از روشن شدن صفحه نمایش.
اکشن پخش: شناسه کاربر حذف شده است
action_uid_removed
از سیستم
اکشن پخش: دستگاه وارد USB شده است
action_ums_conned
حالت ذخیره انبوه.

اکشن پخش: دستگاه از USB خارج شده است
action_ums_disconnected
حالت ذخیره انبوه.
Action Broadcast: هنگام حضور کاربر ارسال می شود
action_user_present
بعد از بیدار شدن دستگاه (به عنوان مثال وقتی Keyguard است
رفته).
اکشن پخش: تصویر زمینه فعلی سیستم
action_wallpaper_changed
تغییر کرده.
Action_Time_Changed
اکشن پخش: زمان تعیین شده است.
action_time_tick
اکشن پخش: زمان فعلی تغییر کرده است.
Action_Timezone_Changed
اکشن پخش: منطقه زمانی تغییر کرده است.
اکشن پخش: وضعیت شارژ یا شارژ
action_battery_changed
سطح باتری تغییر کرده است.
عملکرد پخش: وضعیت باتری کم را نشان می دهد
action_battery_low
روی دستگاه این پخش مطابق با
گفتگوی سیستم "هشدار باتری کم".
اکشن پخش: نشان می دهد که باتری اکنون اشکالی ندارد
بعد از کم بودن این ارسال خواهد شد
action_battery_okay
بعد از action_battery_low یک بار باتری
به حالت خوبی بازگشت.
حالت شبکه
اقدام هدف
شرح
عمل قصد پخش نشانگر این است که
network_state_changed_action
وضعیت اتصال Wi-Fi تغییر کرده است.
عمل قصد پخش نشانگر این است که
RSSI_CHANGED_ACTION
RSSI (قدرت سیگنال) تغییر کرده است.
اکشن قصد پخش نشانگر آن
applicant_state_changed_action
اتصال به متقاضی بوده است
تأسیس یا گمشده
اکشن قصد پخش نشان می دهد Wi-Fi
WiFi_state_Changed_Action
فعال ، غیرفعال ، فعال کردن ،
غیرفعال کردن ، یا ناشناخته.
شناسه های شبکه شبکه های پیکربندی شده
network_ids_changed_action
می توانست تغییر کند
عمل قصد پخش نشانگر این است که
action_background_data_setting_changed برای استفاده از پس زمینه
مقادیر تغییر یافته
قصد پخش نشان می دهد که تغییر در
اتصال
اتصال شبکه رخ داده است.
اکشن پخش: کاربر تغییر کرده است
action_airplane_mode_changed
تلفن به داخل یا خارج از حالت هواپیما.


پیوست C: ملاحظات آینده این ضمیمه بخش های خاصی از این Android را روشن می کند
1.6 تعریف سازگاری ، و در برخی موارد تغییرات پیش بینی شده یا برنامه ریزی شده در نظر گرفته شده برای یک
نسخه آینده پلت فرم Android. این پیوست فقط برای اهداف اطلاعاتی و برنامه ریزی است ، و
بخشی از تعریف سازگاری برای Android 1.6 نیست.
1. دستگاه های غیر تیلفون
Android 1.6 منحصراً برای تلفن در نظر گرفته شده است. عملکرد تلفن اختیاری نیست. نسخه های آینده
از پلت فرم Android انتظار می رود تلفن را اختیاری کند (و بنابراین امکان Android غیر تلفن را فراهم می کند
دستگاه ها) ، اما فقط تلفن ها با Android 1.6 سازگار هستند.
2. سازگاری بلوتوث
انتشار Android 1.6 Android از API های بلوتوث پشتیبانی نمی کند ، بنابراین از دیدگاه سازگاری
بلوتوث هیچ ملاحظاتی را برای این نسخه از سیستم عامل تحمیل نمی کند. با این حال ، یک نسخه آینده
Android API های بلوتوث را معرفی می کند. در آن مرحله ، حمایت از بلوتوث برای
سازگاری
در نتیجه ، ما اکیداً توصیه می کنیم که دستگاه های Android 1.6 شامل بلوتوث باشند ، به طوری که آنها باشند
سازگار با نسخه های آینده اندرویدی که به بلوتوث نیاز دارند.
3. اجزای سخت افزاری مورد نیاز
کلیه اجزای سخت افزاری در بخش 8 (از جمله WiFi ، Magnetometer/Compass ، Accelerometer و غیره) هستند
مورد نیاز و ممکن است حذف نشود. انتظار می رود نسخه های آینده اندروید برخی (اما نه همه)
این مؤلفه ها اختیاری ، در کنار ابزارهای مربوطه برای توسعه دهندگان شخص ثالث برای رسیدگی به این موارد
تغییر می کند.
4. برنامه های نمونه
سند تعریف سازگاری برای نسخه آینده Android شامل گسترده تر و
لیست نماینده برنامه های کاربردی نسبت به موارد ذکر شده در بخش 4 ، در بالا. برای Android 1.6 ،
برنامه های ذکر شده در بخش 4 باید آزمایش شوند.
5. صفحه نمایش را لمس کنید
نسخه های آینده از تعریف سازگاری ممکن است یا ممکن است دستگاه ها را برای حذف صفحه لمسی اجازه دهد.
با این حال ، در حال حاضر بخش اعظم اجرای چارچوب Android وجود a را فرض می کند
صفحه لمسی؛ حذف صفحه لمسی همه برنامه های اندرویدی فعلی شخص ثالث را به طور قابل ملاحظه ای خراب می کند ،
بنابراین در Android 1.6 یک صفحه لمسی برای سازگاری مورد نیاز است.

6. عملکرد
نسخه های آینده CTS همچنین استفاده از CPU و عملکرد موارد زیر را اندازه گیری می کند
مؤلفه های اجرای:
• گرافیک 2D
• گرافیک سه بعدی
• پخش ویدیویی
• پخش صوتی
• پخش بلوتوث A2DP

طرح کلی سند