تمام شد! در رایانه لوحی ، یعنی در Asus MeMO Pad 7 ، که من آن را جایگزین معتاد به کار صادقانه خود می کنم ، یک بروزرسانی برای Android 5.0.1 وارد شد. اکنون من دستگاهی با لالی پاپ یا همانطور که در اینترنت می گویند با لولیپوپا دارم.


به روزرسانی تا حدودی غیرمنتظره از راه رسید. صادقانه بگویم ، من در ماه آوریل انتظار یک سیستم عامل جدید برای گوشی خود (Asus ZenFone 5) داشتم - حداقل آنها قول آن را داده بودند. هیچ کس در مورد رایانه لوحی و اینجا چیزی نگفت - روی شما ، آن را دریافت کنید و امضا کنید.

در حقیقت ، این باعث دلسردی من شد (البته به معنای خوب) ، به این دلیل که من این تبلت را در دسامبر خریداری کردم و نسخه 4.3 داشت. یعنی این دومین بروزرسانی قابل توجه است. سیستم عامل (در واقع ، به روزرسانی های بیشتری وجود داشت ، اما شماره نسخه Android تغییر نکرده است). سازنده قبلی دستگاه های من - سامسونگ - نمی توانست به چنین سرعت آتش سوزی مباهات کند ، گرچه سیستم عامل را نیز دو بار به روز کرد: از Android 3.2 به Android 4.1.2 (از طریق 4.0.1). اکنون فقط انتظار برای این نسخه های جدید بسیار بیشتر طول کشیده است.

خوب ، زنده باد شگفتی ها! هنگامی که اخطار خروج دریافت می کنید نسخه جدید میان افزار ، من بلافاصله آن را که بیش از 700 متر است بارگیری کردم و به روزرسانی کردم. از آنجا که من از طریق چرخش نیست شبکه خانگی، اما از طریق تلفن همراه ، همه چیز در مورد همه چیز کمی بیشتر طول کشید: حدود یک ساعت از شروع بارگیری تا اتمام به روزرسانی گذشت. خود بروزرسانی حدود بیست دقیقه به طول انجامید ، اما به طور بالقوه ممکن است بیشتر طول بکشد - زیرا پس از نصب سیستم عامل ، روند به روزرسانی برنامه های نصب شده دنبال می شود. شمارنده من تا 205 شمارش شد. اما اکنون روند کار به پایان رسیده است و وقت آن است که ببینیم چه تغییراتی انجام شده است.

اولین چیزی که توجه من را جلب کرد ، پیچیده ترین گرافیک هنگام باز کردن قفل دستگاه بود. مورد دوم دستی در قسمت اعلان است. برای چند روز او را تحمل کردم ، به این امید که به طور اتفاقی جایی در ارتباط با او ببینم. ندید سپس شروع به جستجوی هدفمند کردم و در w3bsit3-dns.com توضیحاتی را در مورد آن یافتم. به نظر می رسد که اعلان ها به مهم و نه چندان مهم تقسیم شده اند و می توان مشخص کرد که می خواهید کدام اعلان ها را دریافت کنید. اگر گزینه را تنظیم کنید همیشه هوشیار باشید ، در صورت گزینه دست ناپدید می شود فقط هشدارهای مهم سپس دست ظاهر می شود. صادقانه بگویم ، من چندین بار دستم را برداشتم ، اما ، به دلایلی ، پایدار برمی گردد. چرا؟ من هنوز نمی دانم

در حقیقت ، روش "برداشتن" این دست وجود دارد:

روش فوق به هیچ وجه پیچیده نیست. اما می توانید حتی سریعتر و راحت تر به نتیجه برسید: یکی از دو دکمه کنترل میزان صدا را فشار دهید - پنجره ای روی صفحه ظاهر می شود که به شما امکان می دهد سطح صدا را برای اجزای مختلف سیستم تغییر دهید ، همچنین توجه ، کنترل حالت های هشدار ... درست است ، به دلایلی ، اینها یکسان هستند حالت های هشدار همیشه در چنین نسخه ای سریع نمایش داده نمی شوند. من هنوز هیچ الگویی پیدا نکردم ، اما ، صادقانه بگویم ، این صدمه ای ندید و من می گشتم.

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


تنها چیزی که از آن کمی متاسفم برنامه ای با نام غیرمعمول "دو برنامه" است. اگرچه ، باید اعتراف کنم ، من حتی بلافاصله نفهمیدم که درمورد چه چیزی است: من فکر می کردم که کدام دو برنامه حذف می شوند ، مشخص کردن نام واقعا غیرممکن است.

بله ، برنامه ای که در نسخه 4.4.2 ظاهر شده و اجازه اشتراک صفحه بین دو برنامه همزمان را دارد ، در فراموشی فرو رفته است. حقیقت را بگویم ، عملکرد آن نسبتاً ضعیف بود ، زیرا امکان اجرای همزمان محدودیت برنامه ها وجود داشت. اگر حافظه من به من خدمت می کند ، من فقط یک یا دو بار از آن استفاده کردم ، فقط برای اینکه ببینم چیست. شاید کسی فرصت های ارائه شده توسط این برنامه را از دست بدهد ، اما به نوعی من ناراحت نبودم. گرچه ، من واقعاً دوست ندارم وقتی آنچه را که قبلاً داده شده بود از من بگیرند.

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

اتفاقاً TuniIn Radio Pro ، خریداری شده ، برای من در کیت کت کار نکرد. همه چیز روان پیش رفت - تا اینکه صف مستقیم به گوش دادن به یک ایستگاه رادیویی رسید. یعنی برنامه شروع شد ، من گروهی از ایستگاه های رادیویی را انتخاب کردم ، به عنوان مثال ایستگاه های رادیویی محلی ، ایستگاه خاصی را انتخاب کردم (به عنوان مثال RockFM ، Radio Jazz و به طور کلی هر ایستگاهی) و بعد از آن برنامه با خطا خراب شد. حتی بعضی اوقات حتی صدا می آمد اما برنامه هنوز خراب می شد. زمان گذشت ، به روزرسانی های رادیو TuneIn منتشر شد ، اما چیزی تغییر نکرد. با این حال ، پس از ارتقا به پنج ، مشکلات به طرز جادویی از بین رفت ، اکنون همه چیز بدون هیچ شکایتی کار می کند.

تغییر مثبت دیگر - مجموعه اداری SoftMaker Office HD ، صادقانه نیز خریداری شده است. برنامه های موجود در آن روی تبلت سامسونگ خوب کار می کردند. وقتی این برنامه ها را روی یک تبلت جدید نصب کردم ، به هیچ وجه شروع نمی شوند. پس از مدتی ، یک به روزرسانی برای این دفتر منتشر شد و وضعیت تا حدودی بهبود یافت: برنامه ها شروع به اجرا کردند ، با این وجود ، در مراحل کار ، در منطقه منو (خط بالای پنجره برنامه) ، برخی از مصنوعات گرافیکی عجیب جمع شده بودند. هنگام جابجایی به دسک تاپ (یا برنامه کاربردی دیگر) و برگشت ، مصنوعات ناپدید شدند ، اما نه برای مدت طولانی. بعد از به روزرسانی های اندروید تمام برنامه های موجود در بسته مانند ساعت کار می کنند.

خوب ، یک نکته منفی کوچک. من خیلی فعال از برنامه ای به نام Video Recorder استفاده می کنم. برای او نیز پول دادم. این برنامه روی رایانه لوحی جدید خوب کار کرد ، هیچ شکایتی وجود نداشت ، بعلاوه عملکردهایی که در رایانه لوحی قبلی موجود نبودند ، به عنوان مثال ، تثبیت کننده فیلم ، کار می کردند. پس از به روزرسانی سیستم عامل ، در شروع ضبط برنامه خراب شد. در ابتدا ، فکر کردم که مشکلی در نوشتن کارت حافظه وجود دارد - من یک نوشتن در فهرست برنامه را روی یک کارت MicroSD خارجی تنظیم کرده ام. اما ، بعد از اینکه من توانستم یک زیر شاخه در فهرست ضبط در خود برنامه ایجاد کنم ، مشخص شد که استفاده از کارت خارجی هیچ ارتباطی با آن ندارد. سپس تصمیم گرفتم که یکبار یک عملکرد برنامه را غیرفعال کنم ، و اولین چیزی که انگشتم را لمس کردم یک جعبه تأیید با یک چک باکس تثبیت کننده بود. پس از خاموش کردن گزینه ، برنامه شروع به نوشتن ویدئو کرد ، اما کیفیت آن پایین آمد. نه ، وضوح و نرخ جریان - همه چیز ثابت باقی مانده است ، اما تصویر موجود در رکورد موج می زند. برنامه تنظیماتی دارد که سعی می کند این جلوه را نرم و صاف کند و در اصل ، روشن شدن آن کمی کمک می کند ، اما به دلایلی ، وقتی دوباره وارد برنامه می شوید ، علامت روشن بودن گزینه باقی می ماند ، اما تصویر شناور است ، مثل اینکه گزینه خاموش باشد ... اگر به گزینه قبلاً فعال شده ضربه بزنید ، بلافاصله همه چیز عادی می شود. به احتمال زیاد ، این یک اشکال در برنامه است ، من قصد دارم آن را به توسعه دهنده گزارش دهم و شاید نویسنده این اشکال را برطرف کند. اما این واقعیت که ثبات فیلم کار نمی کند کمی آزار دهنده است. اول از همه ، به این دلیل برنامه کارکنان دوربین در تنظیمات گزینه تثبیت کننده را دارد و هنگام روشن شدن ، ضبط بدون خطا انجام می شود.

از موارد خاص مربوط به برنامه ها ، به سراغ خصوصیات کلی سیستم می روم. خوب ، اولا ، مقدار حافظه آزاد افزایش یافته است. همانطور که قبلاً نوشتم ، تمام نرم افزارهای من در جای خود باقی ماندند. در عین حال ، باید بگویم که من قرص را بسیار صاف می کنم. نه از نظر این واقعیت که من مدام بازی می کنم ، بلکه از نظر اینکه سرویس های زیادی آویزان هستند ، ممکن است از بعضی از آنها استفاده نکنم ، اما به هر حال آن را نگه می دارم. اول از همه ، ما در مورد انواع پست الکترونیکی صحبت می کنیم - Outlook ، Yandex Mail ، GMail ، دقیق تر ، اکنون Inbox. علاوه بر این ، انواع ذخیره سازی ابری - دیسک Yandex ، OneDrive ، Google Drive ، Dropbox ، Box ، Asus WebStorage. چند شبکه اجتماعی - Odnoklassniki و + Google. انواع پیام رسان ها - Viber ، ICQ ، Skype ، Hangouts. همه این برنامه ها ، به هر طریقی یا دیگری ، حتی اگر از آنها استفاده نمی کنید ، حافظه دستگاه را مصرف می کنند. اما من اصولاً متوجه می شوم که به دنبال چه هستم.

کاربران دستگاه های ایسوس می دانند که در پرده آندروید برنامه ای وجود دارد که به شما امکان می دهد حداقل برای مدتی حافظه را پاک کنید. این در پنج تمیزکاری برتر و در کیت کت عجیب تر نامیده می شود - به دست آوردن. وقتی پرده را باز می کنید ، نماد این برنامه میزان حافظه آزاد را در لحظه نشان می دهد. بنابراین ، هنگامی که نسخه Android 4.4.2 روی رایانه لوحی نصب شد ، این رقم در محدوده 200-300 مگابایت نوسان داشت و نماد ، اغلب زرد بود. اکنون میزان حافظه آزاد از 400 به 600 مگابایت تغییر می کند و نماد تقریباً همیشه سبز است. این تغییر احتمالاً به دلیل تغییر است ماشین مجازیدر Lollipop استفاده شده است ، اما شاید چیزی در سیستم عامل تغییر کرده باشد ، به عنوان مثال ، Asus چیزی را حذف کرد. به طور کلی ، شما باید آن را کشف کنید.

قرار بود تغییر ماشین مجازی بر روی دو پارامتر دیگر - عملکرد و مصرف برق تأثیر بگذارد. در مورد عملکرد چه می توانم بگویم. هیچ چیز ، حدس می زنم من igruhi بازی نمی کنم ، من طوطی ها را دوست ندارم (آنتوتو و غیره). این تبلت کاملاً قدرتمند است ، بنابراین من متوجه ترمز شدن نه در کیت کت و نه در لالی پاپ شدم. همه چیز روان و بی عیب است. هنگام رانندگی ، من یک DVR ، Arrow ، Maps (یا Yandex یا Google) کار می کنم ، من همچنین با استفاده از Kodi به موسیقی گوش می دهم ، و بعد از همه اینها ، باز هم واکنش نشان می دهد تا به دسک تاپ بروید ، برخی دیگر را راه اندازی کنید برنامه ها ، به طور کلی - یک جانور.

و در مورد مصرف برق ... اساساً ، آخرین به روزرسانی کیت کت فرصت شکایت از عدم کارایی دستگاه را از من گرفت. اگر پس از نصب اولیه KitKat ، این تبلت 20-30 درصد از ذخایر انرژی خود را یک شبه از دست داد ، پس از به روزرسانی به نسخه 31 سیستم عامل ، تلفات کاملاً قابل قبول شد - از دو به پنج درصد در هر شب. به روزرسانی به Lollipop از این نظر هیچ چیز بدتری ایجاد نکرد و از این بابت بسیار سپاسگزارم. در مورد مصرف تحت بار ، در اینجا دوباره می توانم تجربه کار با ماشین را ذکر کنم: همان موارد اولیه اولیه - DVR ، Arrow ، Yandex Navigator ، Kodi ، روشنایی صفحه در حدود 75-80 درصد - یک روز روشن و آفتابی ، به علاوه همه رابط های بی سیم روشن هستند ، بنابراین ، در طول سفر - حدود دو ساعت - باتری تا 57 درصد تخلیه شد. به نظر من ، کاملا شایسته است. اتفاقاً ، در کیت کت نیز تقریباً همینطور بود.

و آخرین مورد - به نوبه خود ، لیست کردن ، اما نه به ترتیب اهمیت - که من مایلم بدانم. این در مورد کار با کارت حافظه خارجی است. من ، چون از شرایط خارج شدم ، به دلیل محدودیت های کیت کت برای نوشتن روی کارت حافظه خارجی. ظاهراً موج منفی به قدری شدید بود که گوگل مجبور شد به چیزی گوش دهد و چیزی را تغییر دهد. یا شاید آنها فقط چیزی را تغییر داده اند ، بدون اینکه به کسی گوش دهند. اما بگذارید این مسئله مهم را کنار بگذاریم (گوش دادیم / گوش ندادیم) ، اجازه دهید خودشان به سراغ تغییرات برویم.

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

ابتدا ، این برنامه باید از ویژگی های جدید Storage Access Framework بهره ببرد ، یعنی از OPEN_DOCUMENT_TREE قصد و چندین توابع SDK جدید یا به روز شده استفاده کند.

دوم - کاربر باید خودش تصمیم بگیرد کدام شاخه (یا شاخه) سیستم فایل این امکان دسترسی به این یا آن برنامه را فراهم می کند. یعنی اگر در پاسخ به درخواست دسترسی ، ریشه آن را مشخص کنید ، یا می توانید فقط به یک پوشه خاص و فرزندان آن دسترسی داشته باشید ، می توانید به کل کارت دسترسی داشته باشید. به طور کلی ، شما باید مسئولیت خود را به عهده بگیرید ، و اگر اتفاقی بیفتد ، باید فقط خودتان را مقصر بدانید.

سوم شانس است. همه چیز آنطور که باید در رایانه لوحی من کار می کند ، برای یک دوست در HTC One M8 کار نمی کند ، اگرچه در شبکه است آیا ویدیویی وجود دارد ، دقیقاً چگونه در این مدل از تلفن هوشمند همه چیز به طرز شگفت انگیزی شخم می زند. با این حال ، یک فرض وجود دارد که به دلیل اینکه کارت موجود در تلفن وی به نوعی اشتباه قالب بندی شده است ، شاید بدون تعیین نام میزان صدا ، یا شاید در سیستم فایل اشتباه ، کار نکرد.

در واقع ، این خبر همزمان شادی آور و غم انگیز است. شاد - زیرا اکنون نیازی به دسترسی ریشه به دستگاه ندارید و نمی توانید فقط به فهرست برنامه محدود شوید. غم انگیز - زیرا تا زمانی که توسعه دهندگان به استفاده از API جدید و انتشار نسخه های جدید برنامه های خود عادت نکنند ، هیچ مشکلی نخواهد داشت. از تجربه من: مدیر فایل ES Explorer قبلاً پشتیبانی از API جدید را بدست آورده است و من توانستم به آن مجوز نوشتن به کل کارت SD خارجی را بدهم ، و مدیر فایل Total Commander آن را دریافت نکرد و هنوز هم نمی تواند روی کارت MicroSD بنویسد - در هیچ کجا ، به جز فهرست خودتان مثل این.

در حقیقت ، در این داستان کاملاً تفاوت های ظریف با ضبط در کارت حافظه خارجی وجود دارد. به عنوان مثال ، شما به برخی از برنامه ها دسترسی داشتید ، اما برخی را فراموش کردید. به کجا نگاه کنیم؟ من درک می کنم ، در حال حاضر - هیچ جا. یعنی در اصل ، اگر رایانه لوحی را به آن متصل کرده و از برنامه adb استفاده کنید ، می توانید آن را ببینید ، اما نه در خود رایانه لوحی ، بلکه در رایانه. در اینجا دستور مورد نیاز شما وجود دارد:

Adb shell ارائه دهندگان فعالیت dumpsys

اما چگونه می توان همین مورد را در رایانه لوحی تهیه کرد - من آن را پیدا نکردم.

سوال بعدی بنابراین به برخی از برنامه ها دسترسی دادید تا در پوشه ای بنویسند و سپس نظر خود را تغییر داده و می خواهید آن را بردارید. آیا چنین احتمالی وجود دارد؟ خوشبختانه بله اما ، با ضرر و زیان. اولین راه بسیار رادیکال - می توانید برنامه را پاک کرده و دوباره نصب کنید. روش دوم نه چندان اساسی است ، بلکه ایده آل هم نیست - شما باید داده های برنامه را در تنظیمات دستگاه پاک کنید. به طور طبیعی ، همراه با حقوق دسترسی ، سایر داده های برنامه حذف می شوند ، بنابراین یک سوال منطقی در مورد کاربرد عملی آن ایجاد می شود. این روش... هیچ روش دیگری یافت نشد ، شاید هنوز. اگر ابتدا از داده های برنامه پشتیبان تهیه کنید ، می توانید از هر دو روش استفاده کنید و پس از اجرای یکی از روش ها ، آنها را بازیابی کنید. اما در اینجا سوالی در مورد قابلیت های پشتیبان گیری ایجاد می شود - آیا فقط از داده ها پشتیبان تهیه می شود یا داده ها همراه با مجوزها؟ اگر دارای مجوز باشید ، پس از بازیابی ، خوب ، می فهمید ... همه اینها به شدت به برنامه های خاص استفاده شده بستگی دارد ، بنابراین باید بسیار مراقب باشید. و این دلیل خوبی دیگر است که قبل از دیدن مسکو باستان ، بدون تأیید مقامات مربوطه ، برای صدور حقوق هرگونه برنامه دسترسی به سیستم پرونده کارت خارجی فکر کنید.

علاوه بر این. اگر کارت درج شده در شکاف رایانه لوحی خود را تغییر دهید چه اتفاقی می افتد؟ پاسخ این است: شما مجبورید به جداگانه به هر کارتی که وارد دستگاه می کنید دسترسی داشته باشید. در اصل ، این احتمالاً منطقی است. یعنی شما به مدیر فایل اجازه دسترسی به ریشه کارت را داده اید ، سپس آن را بیرون آورده و دیگری را وارد کرده اید. مدیر پرونده برای کارت جدید نامه نمی نویسد ، شما باید دوباره دسترسی داشته باشید. اما وقتی کارت اول را به رایانه لوحی برگردانید ، مدیر فایل بدون هیچ مشکلی برای آن نامه می نویسد.

یک سؤال دیگر. در اینجا شما به برخی از پوشه ها ، نه در ریشه ، اجازه دسترسی به برنامه را داده اید. زمان سپری شد و شما نیاز داشتید که در پوشه دیگری روی همان کارت به همان برنامه دسترسی داشته باشید. میتونم انجامش بدم؟ در اصل ، این نتیجه مورد قبلی است ، بنابراین پاسخ مثبت است ، می توانید. یعنی سیستم هر برنامه لیستی از فهرست هایی را که به آنها دسترسی نوشتن داده اید به خاطر می آورد.

اکنون نکته مهم مربوط به برنامه های نصب شده روی رایانه لوحی برای هر کاربری که نمایه آن در دستگاه ایجاد شده است. در اینجا نیز همه چیز منطقی است - برای هر کاربر دستگاه ، حقوق دسترسی خود را برای برنامه ها ذخیره می کند ، یعنی هر کس آهنگر خوشبختی خود است ، یا اگر می خواهید ، شرور خود Buratino.

و البته ، موارد زیادی به صلاحیت توسعه دهندگان بستگی دارد. ممکن است اتفاق بیفتد که به هر برنامه ای حق دسترسی به کارت خارجی را برای نوشتن بدهید و پس از راه اندازی مجدد رایانه لوحی ، متوجه خواهید شد که دسترسی وجود ندارد. فقط توسعه دهنده برنامه مقصر چنین وضعیتی است - او زحمت نجات مجوز دریافتی را نگرفت. شاید شما باید به آن فکر کنید و به دنبال گزینه دیگری برای این برنامه باشید ، زیرا هرگز نمی دانید چنین برنامه نویسی چه چیزی را پیش بینی نکرده است.

و بله ، روند صدور مجوز نوشتن برای کارت microSD برای ES Explorer به این صورت است:

ما به یک کارت خارجی نیاز داریم

بیایید سعی کنیم چیزی درست در ریشه نقشه ایجاد کنیم






ما باید کارت SD را نمایش دهیم


در اینجا کارت حافظه خارجی ماست



خوب ، حالا ، شاید همین باشد.

P.S. این اتفاق افتاده است که زمان زیادی از لحظه نوشتن این مطالب گذشته است. انتشار آن بارها ممکن بود ، اما من مرتباً می کشیدم ، دلیل آن مشخص نیست. به عبارت دقیق تر ، من می دانم چرا - من تصمیم می گرفتم که چگونه بهترین شکل یک سری عکس از صفحه را توصیف کنم که یک روند خاص را توصیف می کند: به عنوان یک دنباله ساده از تصاویر درج شده ، یا به عنوان یک نمایش اسلاید. در نهایت ، تصمیم به استفاده از (حداقل در حال حاضر) توالی تصاویر گرفته شد. چگونگی وقوع همه اینها موضوعی برای یک پست جداگانه است. در این بین ، همه چیز همانطور که هست باقی می ماند ، حیف است که زمان زیادی صرف شده است. تنها تسلی این است که بیهوده نیست. علاوه بر این ، یک اتفاق خوشایند رخ داد. من در این پست نوشتم که دسترسی به کارت حافظه خارجی فقط زمانی امکان پذیر است که نویسندگان برنامه ها از API جدید استفاده کنند. به عنوان نمونه برنامه ای که در آن از API جدید استفاده نشده است ، من Total Commander را ارائه دادم. بنابراین ، در حالی که من انتشار را به تأخیر می انداختم ، Total Commander به روز شد و اکنون همچنین می داند که چگونه با کارت حافظه خارجی به سبک Android Lollipop کار کند. در زیر مجموعه ای از عکسهای صفحه را ارائه می دهم که روند ایجاد یک فهرست جدید در ریشه کارت حافظه خارجی با استفاده از Total Commander را توصیف می کند:

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

من یک گوشی جدید خریدم سامسونگ گلکسی S5 ، و بلافاصله در سیستم عامل Android با مشکل روبرو شد. دقیق تر ، نسخه اندروید 4.4 کیت کت. این نسخه از Android ویژگی جدیدی از توسعه دهندگان Google را معرفی می کند.

اکنون از دسترسی برنامه ها برای ویرایش پرونده ها روی کارت SD محروم شده است!این منجر به این واقعیت می شود که برخی از برنامه ها کار نمی کنند!

من به شما نشان خواهم داد که چگونه از پس این مشکل برآیید!

عصر بخیر خوانندگان عزیز وبلاگ ما!

روز دیگر برای خودم یک گوشی جدید خریدم! Samsung Galaxy S5!

لذت بردن از یک تلفن جدید

خرید موفقیت آمیز را که چندین سال است آرزو می کنم تبریک می گویم! تلفن فوق العاده سریع ، قدرتمند ، زیبا و راحت به نظر می رسید!

اوایل من قبلاً یک تلفن HTC داشتم (تقریباً 4 - 5 ساله است) با سیستم اندروید. یکی از اولین تلفن هایی که دارای چنین سیستمی است (در زمان خرید). من آن را بالا و پایین مطالعه کردم ، چندین بار سیستم را فلش کردم ، سیستم عامل Android را انتخاب کردم که از لحاظ عملکرد بسیار برتر از نسخه رسمی آن زمان بود.

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

زمان زیادی گذشته است ، نسخه های زیادی از اندروید منتشر شده است (در زمان خرید من اندروید 2.2 را داشتم). نسخه های جدید و تلفن هایی که روی آن نصب شده اند بسیار برتر از تلفن هوشمند قدیمی من هستند. بنابراین ، من از قدرت ، سرعت و عملکرد بسیار شگفت زده شدم.

حدود 4 روز از آن لذت بردم. بعد با مشکلی روبرو شد!

مسئله! سیستم فایل ویرایش پرونده را منع می کند!

پس از بروزرسانی بعدی ، سیستم عامل گوشی خود به نسخه اندروید 4.4 بروزرسانی شد

وقتی نمی توانستم یک پرونده را روی تلفن خودم ویرایش کنم ، تعجب من را تصور کنید! در ابتدا گناه کردم ، اشکالات را بررسی کردم ، سعی کردم فایل را از رایانه ویرایش کنم (با اتصال کابل به تلفن). راهی برای ویرایش پرونده ها نبود!

با نگاهی به اطلاعات مربوط به سیستم عامل در تنظیمات - درباره دستگاه - وضعیت SE برای Android ، کلمه Enforcing را دیدم.

این کلمه کد Google به معنای نسخه Android است که در آن حقوق برنامه در سطح هسته سیستم عامل محدود شده است! EMAE! خوب فهمیدم

برای یافتن راه حل به اینترنت مراجعه کردم

این چیزی است که من پیدا کردم:

ایکس متوجه شدم که تلفن من کاملاً جدید است و دارای 5 سال ضمانت تولید کننده است!

اگر دسترسی Root (حقوق سرپرست در سیستم Android) دریافت کنید ، ضمانت نامه سازنده (سامسونگ) از بین می رود. در حقیقت ، برخی از سایت های هک ادعا می کنند که روش های خاصی برای برگرداندن پیشخوان کارخانه به موقعیت اصلی خود وجود دارد. با دسترسی Root شمارنده کارخانه به صفر می رسد. این امر به شرکت خدمات رسان نشان می دهد که تلفن شکسته شده و شامل ضمانت نامه نمی شود.

برای تأثیرگذاری روی این شمارنده ، باید تلفن را جدا کرده و وارد ریز مدارها شوید. بنابراین ، گول چنین فریب هایی را نخورید!

اگر به Root دسترسی پیدا کنید ، ضمانت شما از بین می رود! در تلفن قدیمی من بررسی شد!



در نسخه جدید آندروید 5.0 ، Google از منطق دیگری مبنی بر عدم دسترسی به کارتهای حافظه SD خارجی استفاده می کند.

1. منطق جدید چگونه کار می کند؟

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

به عبارت دیگر ، پرونده های توزیع وجود داشت ( پرونده های راه اندازی) و سیستم ، هنگام شروع برنامه ، آن را قبل از شروع کامپایل می کند. به عبارت دیگر ، پرونده ها بسته بندی شده بودند ؛ در هنگام راه اندازی برنامه ، پرونده ها بسته بندی و راه اندازی شدند.

اکنون ، در Android 5.0 ، همه برنامه ها به صورت کامپایل شده و فشرده نشده نصب می شوند. این باعث می شود برنامه ها از فضای بیشتری استفاده کنند اما سریعتر اجرا می شوند!

2. این به چه چیزی منجر می شود؟

  1. حقوق دسترسی به برنامه در طول نصب اختصاص داده شده است!
  2. کاربر حق دارد هنگام نصب ، حقوق مربوط به یک برنامه خاص را تعیین کند.
  3. کاربر می تواند حقوق برنامه را تغییر دهد. به عنوان مثال ، اگر به برنامه ای اعتماد دارید ، می توانید به او اجازه دهید پرونده ها را روی کارت حافظه خارجی ویرایش کند.

من می خواهم برای رفع مشکل ANDROID TO VERSION 5.0 را به روز کنم!

اگر نسخه سیستم عامل را به طور رسمی به روز کنم ، پس ضمانت را ذخیره می کنم!

اما من به نسخه اندروید برای روسیه (به طور خاص برای او و نه برای کشور دیگری) نیاز دارم تا با کلمات انگلیسی در رابط کاربری رنج نبرم.

سعی خواهم کرد تا او را پیدا کنم.

برنامه رسمی پشتیبانی سامسونگ از تلفن های Kies می گوید تلفن من به آخرین نسخه توسط.

من به روزرسانی های رسمی Android (برای منطقه ما) را در سایت های رسمی پیدا نکردم.

در انجمن ها ، من اطلاعاتی را پیدا کردم که گوگل نسخه سیستم عامل آن را در ژانویه 2015 برای روسیه منتشر کرد. اما در دستگاه های مشتری بسیار کند اجرا می شود.

بنابراین ، می توانم صبر کنم تا دستگاه من پیغامی مبنی بر بروزرسانی نرم افزار دریافت کند. پس از آن ، می توانم اندروید را به روز کنم.

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

بنابراین بیایید با تئوری شروع کنیم.

واژه شناسی

Google به ما می گوید که مفاهیم زیر وجود دارد:
  1. درونی؛ داخلی ( درونی؛ داخلی) حافظه بخشی از کارت حافظه داخلی گوشی شما است. به طور پیش فرض ، پوشه برنامه از دسترسی سایر برنامه ها (با استفاده از حافظه داخلی) محافظت می شود.
  2. خارجی ( خارجی) حافظه یک "حافظه خارجی" مشترک است ، این می تواند بخشی از حافظه داخلی باشد یا یک دستگاه حذف شده. معمولاً این بخشی از حافظه داخلی است ، زیرا آخرین باری که می دیدم یک دستگاه قابل جابجایی در android 2.2 است ، جایی که حافظه داخلی حدود 2 گیگابایت بود و حافظه متصل به آن خارجی شد (با استفاده از ذخیره سازی خارجی)
  3. حذف شده ( قابل جابجایی) حافظه - تمام ذخیره هایی که می توانند بدون مداخلات "جراحی" از دستگاه خارج شوند.

قبل از KitKat 4.4 ، API قابلیت دسترسی به مسیرهای حافظه خارجی را فراهم نمی کرد. با شروع از این نسخه (API 19) ، عملکرد انتزاعی عمومی پرونده ظاهر شد getExternalFilesDirs (نوع رشته ای) ، که آرایه ای از رشته ها را با مسیرهایی به حافظه داخلی و خارجی برمی گرداند. اما در مورد کارت SD ما که در شیار قرار می گیرد ، چه می کنید؟ باز هم ، ما نمی توانیم به آن راه پیدا کنیم.

نتایج جستجو

برای پاسخ به س posال مطرح شده ، من به گوگل آگاه همه مراجعه کردم. اما او هم پاسخ روشنی به من نداد. گزینه های زیادی برای تعیین استفاده از توابع استاندارد که منجر به حافظه خارجی می شوند در نظر گرفته شد ، اما آنها هیچ ارتباطی با دستگاه های ذخیره سازی قابل جابجایی ، پردازش قوانین نصب دستگاه ندارند (اندروید بر روی هسته لینوکس کار می کند). در موارد اخیر ، از مسیرهای "سخت" به پوشه با دستگاه های نصب شده استفاده می شود (در نسخه های مختلف این فهرست متفاوت است). فراموش نکنید که قوانین mount از نسخه ای به نسخه دیگر تغییر می کند.

در پایان ، تصمیم گرفتم تمام دانش به دست آمده را با هم تلفیق كنم و كلاس خودم را كه می تواند مسیرها را به دستگاههای خارجی و قابل جابجایی برای ما بازگرداند ، نوشتم.

شرح کد

کلاس ایجاد شد MountDevice، که حاوی مسیر رسیدن به دستگاه ، نوع دستگاه و هش خاصی است.
دو نوع دستگاه وجود دارد (من حافظه داخلی را لمس نکردم ، زیرا از طریق API سیستم قابل دسترسی است).

فهرست عمومی MountDeviceType (EXTERNAL_SD_CARD ، REMOVABLE_SD_CARD)
و کلاس ایجاد شد StorageHelper، که کارت های حافظه موجود را جستجو می کند.

کلاس StorageHelper دو روش جستجو را پیاده سازی می کند - از طریق سیستم سیستم ( محیط) و با استفاده از ابزارهای Linux کوه، یا بهتر بگوییم نتیجه اجرای آن.

روش اول - محیط
هنگام کار با محیط ، از تابع استاندارد getExternalStorageDirectory () برای دریافت اطلاعات در مورد حافظه خارجی استفاده می کنم. برای به دست آوردن اطلاعات در مورد حافظه در حال حذف ، از متغیر محیط استفاده می کنم " SECONDARY_STORAGE".

حافظه خارجی همیشه یک و معمولاً همیشه در آنجا است ، بنابراین ما آن را از نظر خوانایی بررسی می کنیم ، هش را محاسبه می کنیم و آن را به یاد می آوریم. ممکن است حافظه زیادی حذف شود ، بنابراین لازم است که رشته حاصل را توسط جدا کننده تقسیم کرده و هر مقدار را بررسی کنید.

عملکرد FillDevicesEnvirement

مسیر رشته \u003d android.os.En Environment.getExternalStorageDirectory () .getAbsolutePath ()؛ if (! path.trim (). isEmpty () && android.os.En Environment.getExternalStorageState (). برابر است (android.os.En Environment.MEDIA_MOUNTED)) (testAndAdd (path، MountDeviceType.EXTERNAL_SD_CARD)؛) // دریافت حذف rawSecondaryStoragesStr \u003d System.getenv ("SECONDARY_STORAGE")؛ if (rawSecondaryStoragesStr! \u003d null &&! rawSecondaryStoragesStr.isEmpty ()) (// همه SD-Cards های ثانویه به رشته نهایی ردیف می شوند String rawSecondaryStorages \u003d rawSecondaryStoragesStr .split (File.pathSeparator)؛ for (rawSecondaryStoragesStart؛ for (raw) MountDeviceType.REMOVABLE_SD_CARD)؛))


راه حل از جریان پشته سازی گرفته شده است. جواب در جایی پایین است.
روش دوم - سوار شدن
از آنجا که برای مدت طولانی نمی توانستم سیستم را به من بگویم که مسیر حافظه پاک شده چیست ، تصمیم گرفتم در جهت دستگاه های نصب شده جستجو کنم. این سیستم دارای پرونده های پیکربندی است که قوانین نصب دستگاه های خارجی را توصیف می کند. همه چیز خوب است ، اما در Android نسخه 4. * این پرونده در دسترس افراد فانی نیست ، بنابراین من این روش را در نظر نمی گیرم.

بیایید به برنامه کوه سواری برگردیم. وقتی بدون پارامتر اجرا می شود ، دستور لیستی از سیستم های پرونده نصب شده را برمی گرداند. دستگاههایی که باید برداشته شوند معمولاً دارای قالب فایل سیستم FAT هستند ، بنابراین ما خطوطی را که مشخصه دارند انتخاب خواهیم کرد " چربی". حافظه خارجی با پارامتر مشخص می شود" فیوز".

توجه: هنگام استفاده از این روش ، همیشه صحیح نیست (به احتمال زیاد من چیزی را در نظر نگرفتم) انواع دستگاه های نصب شده تعیین می شود. من متوجه تفاوت در نسخه های مختلف اندروید. بنابراین ، این روش می تواند به عنوان یک روش اضافی مورد استفاده قرار گیرد.

عملکرد FillDevicesProcess

try (Runtime runtime \u003d Runtime.getRuntime ()؛ proc \u003d runtime.exec ("mount")؛ try (is \u003d proc.getInputStream ()؛ isr \u003d new InputStreamReader (is)؛ br \u003d new BufferedReader (isr)؛ while ( (line \u003d br.readLine ())! \u003d null) (if (line.contains ("امن")) ادامه می یابد؛ if (line.contains ("asec"))) ادامه می یابد؛ if (line.contains ("fat") ) (// کارت TF ستون های رشته ای \u003d line.split ("") ؛ اگر (ستون ها! \u003d تهی و& columns.length\u003e 1) (testAndAdd (ستون ها ، MountDeviceType.REMOVABLE_SD_CARD)؛)) دیگری اگر (line.contains () فیوز ")) (// داخلی (خارجی) // ذخیره سازی ستون های رشته ای \u003d line.split (" ") ؛ اگر (ستون ها! \u003d تهی و & ستون ها. طول\u003e 1) (// mount \u003d mount.concat (ستون ها +") \\ n ")؛ testAndAdd (ستونها، MountDeviceType.EXTERNAL_SD_CARD)؛)))) سرانجام (...)) گرفتن (استثنا e) (...)

کد منبع برای کل کلاس هنوز در هیچ مکانی قرار نگرفته است. یکی از این روزها سعی می کنم آن را در gitHub ارسال کنم.

چه کس دیگری از چه روشهایی استفاده می کند؟

برچسب ها: افزودن برچسب ها

بسیاری از دارندگان خوشحال دستگاه هایی که دارای "4.4.2" 4.4.2 هستند احتمالاً قبلاً با مشکل عدم امکان نوشتن داده ها روی فلش کارت با اکثر برنامه های نصب شده روی دستگاه روبرو شده اند. با توجه به اطمینان گوگل ساخته شده است تا سیستم عامل Android 4.4.2 KitKat را به یک سیستم ایمن تر تبدیل کند.

محدودیت در نوشتن روی فلش کارت عمدتاً مربوط به برنامه هایی است که از آنها نصب شده است منابع شخص ثالث... و مهمتر از همه ، Android 4.4.2 KitKat اصلاح پرونده هایی را که مستقیماً با برنامه هایی که می خواهند این اصلاح را انجام دهند ارتباط ندارد. از این رو امکان ضبط روی کارت SD وجود ندارد.

در عمل ، این محدودیت به معنای واقعی کلمه به معنای موارد زیر است: از پیام رسان های فوری استاندارد ، ویرایشگران عکس ، مدیر پرونده ها استفاده کنید! زیرا اگر سازنده نرم افزار شما نتواند به موقع پاسخ دهد و مثلاً یک به روزرسانی به ویرایشگر عکس شما اضافه کند ، در این صورت که ویرایشگر عکس در حال اجرا است ، تمام عکسهای ویرایش شده شما "زنده" خواهند بود - شما نمی توانید عکس های ویرایش شده خود را روی کارت بنویسید!

کاربران پیشرفته تری که دائماً داده ها را از یک درایو فلش به رایانه و پشت کپی می کنند ممکن است با چنین مشکلی روبرو شوند: رایانه "" شما را تشخیص می دهد ، پرونده ها را می بیند اما نمی تواند کاری با آنها انجام دهد - دسترسی محروم است! با نصب برنامه ای بر روی دستگاه خود که امکان دسترسی به آن را فراهم می کند ، این مشکل برطرف می شود. اما این برنامه فقط در دستگاه های مبتنی بر ROOT کار خواهد کرد.


Working SDFix: KitKat Writable ساده است: پس از نصب و اجرای برنامه ، روی ادامه کلیک کنید ، با شرایط موافقت کرده و دوباره روی ادامه کلیک کنید. اگر برنامه Superuser قبلاً بر روی دستگاه شما نصب شده است ، باید اجازه دهید SDFix به فهرست های ROOT موجود در آن دسترسی داشته باشد.


SDFix KitKat Writable MicroSD در طول کار خود پرونده /system/etc/permissions/platform.xml را تغییر می دهد ، که در آن اجازه نوشتن و اصلاح پرونده ها توسط برنامه هایی را که دارای مجوز WRITE_EXTERNAL_STORAGE هستند ، تجویز می کند. شما می توانید فایل اصلی اصلاح شده SDFix: KitKat Writable MicroSD را با نام platform.xml.original-pre-sdfix پیدا کنید. همیشه می توانید پرونده اصلی را بعداً بازیابی کنید.

برای "سخت" ترین کاربران با دسترسی ROOT روی دستگاه خود ، گزینه ای برای اصلاح وجود دارد پرونده مورد نظربدون توسل به SDFix: KitKat Writable MicroSD.

برای این کار ، مدیر فایل را شروع کنید ، که می تواند پرونده ها را ویرایش کند ، فایل platform.xml را در / system / etc / permissions / پیدا کنید و آن را با ویرایشگر داخلی باز کنید.


پس از آن ، بخش های android.permission.WRITE_MEDIA_STORAGE و android.permission.WRITE_EXTERNAL_STORAGE را پیدا کرده و خطوط را با کد موجود در این بخش ها اضافه کنید:







پس از آن ، فایل اصلاح شده را در ویرایشگر ذخیره کنید.

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