Amaliy qism.
<key>UIFileSharingEnabledkey>
<true/>
Fayl turlarini ro'yxatdan o'tkazishda, standart "ochish" dialog menyusiga bosganingizda, faylni ochish uchun tanlov ro'yxatida dastur paydo bo'ladi..
Fayl shu tarzda ochilganda, uning nusxasi / Documents / Inbox katalogiga joylashtiriladi va dastur ilovani chaqiradi: application:openURL:sourceApplication:annotation: UIApplicationDelegate protokoli usuli, unda ochilayotgan faylning URL manzili ko'rsatiladi. o'tdi.
/Documents/Inbox katalogidagi fayllarni o'qish va o'chirish mumkin, lekin o'zgartirilmaydi. Faylni o'zgartirish uchun uni boshqa katalogga, masalan, /Documents -ga ko'chirish kerak.
Fayllarni shu tarzda import qilish uchun siz ilovaning info.plist fayliga CFBundleDocumentTypes (Document types) kalitini qo'shishingiz kerak. Uning qiymati massiv bo'lib, uning har bir elementi ilova tomonidan qo'llab -quvvatlanadigan har bir hujjat turini tavsiflash uchun ishlatiladigan lug'atdir. Mumkin bo'lgan kalitlarning to'liq tavsifi va ularning ma'nosini hujjatlarda topish mumkin: developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
Biz fayl turlariga cheklovlar qo'ymadik, lekin har qanday fayllarni import qilish imkoniyatini yaratdik. Info.plist quyidagicha ko'rinadi
Fayllarni ilovadan eksport qilish uchun UIDocumentInteractionController ni ishga tushiradigan "ochish" dialog menyusidan foydalaning. Faylni ochish uchun ilovalar ro'yxatini darhol ochish, faylni ochish uchun ilovalar ro'yxatini ochish, fayllarni chop etish, jo'natish va hk kabi standart xizmatlar bilan bir vaqtda ochish mumkin. shuningdek, faylni o'rnatilgan oldindan ko'rish vositasi bilan ochish mumkin, bu erda faylni boshqa dastur bilan ochish tugmasi ham mavjud..
Android
Android -da ilovalar shaxsiy dasturlar katalogidagi fayllardan boshqa fayllarga kira oladi.
Niyatlar faylni tanlash, elektron pochtani yuborish yoki brauzerda havolani ochish kabi operatsiyalarni bajarish uchun ishlatiladi.
Fayl tizimidan faylni tanlash uchun ACTION_GET_CONTENT amalidan foydalanish kerak.
SetType () usuli yordamida qaysi fayl turlarini tanlash mumkin bo'lishini belgilashingiz mumkin. Masalan, agar aniqlasangiz
setType ("audio / mp3"), keyin fayllarni ko'rish dasturida biz faqat .mp3 kengaytmali fayllarni ko'ramiz yoki barcha fayllarni ko'rsatish uchun " * / *" belgisini qo'yamiz. Keyin startActivityForResult () usulini chaqiramiz, u erda Intent.sreateChooser () ni parametr sifatida o'tkazamiz, bu esa dastur tanlash dialogini yaratadi.
Bundan tashqari, manifest faylga kerakli ruxsatnomalarni qo'shish kerak.:
Fayl menejerida faylni tanlagandan so'ng, biz onActivityResult (int requestCode, int resultCode, Intent data) usuliga o'tamiz, bu erda ma'lumotlar faylimizning Uri -ni o'z ichiga oladi..
Fayllarni xizmatdan ochish uchun ACTION_VIEW amalidan foydalaning. Faylni ochish uchun ilovani tanlash FileOpen klassi yordamida amalga oshiriladi (StackOverFlow -ning ochiq joylarida joylashgan va biroz o'zgartirilgan), unda biz potentsial kengaytmasi bo'yicha qaysi turdagi faylni ochmoqchi ekanligimizni tekshiramiz..
FileOpen.class
Agar moslik topilsa, uzatiladigan ma'lumotlarning Uri va MIME turini belgilash uchun setDataAndType () usulidan foydalaning.
Agar fayl biz ko'rib chiqmagan formatga ega bo'lsa, setDataAndType () da biz " * / *" turini ko'rsatamiz. Shunday qilib, tizim bizga qurilmaga o'rnatilgan barcha ilovalarni ko'rsatadi, shunda biz faylni qanday ochishni o'zimiz tanlashimiz mumkin.
Do'stlaringiz bilan baham: |