Android 14 საშუალებას მოგცემთ შეზღუდოთ რა ფოტოებზე წვდომა შეუძლიათ აპებს, მაშინაც კი, თუ ისინი არ იყენებენ Photo Picker-ს

Photo Picker იყო არასავალდებულო API აპებისთვის, რომლებსაც სურდათ თქვენს გალერეაზე წვდომა Android 13-ში, მაგრამ ის გარკვეულწილად სავალდებულო ხდება Android 14-ში.

Android 13-ის ერთ-ერთი მთავარი მახასიათებელია Photo Picker, სისტემის ახალი კომპონენტი, რომელიც მომხმარებლებს საშუალებას აძლევს აირჩიონ რომელ ფოტოებსა და ვიდეოებზე მისცენ აპს წვდომა. აპებს არ სჭირდებათ რაიმე ნებართვის მოთხოვნა, რათა მიიღონ წვდომა იმ ელემენტებზე, რომლებსაც მომხმარებელი ირჩევს Photo Picker-ის მეშვეობით, რაც მას კონფიდენციალურობის დასაცავად აქცევს ფოტოებისა და ვიდეოების აპებთან გაზიარების საშუალებას. სისტემის ფაილების ამომრჩევი, რომელიც არსებობს Android 4.4-დან, გთავაზობთ უფრო მეტ ფუნქციონირებას, ვიდრე Photo Picker, მაგრამ მისი ინტერფეისი შედარებით დათარიღებულია.

Photo Picker (და სისტემის ფაილების ამომრჩევი მანამდე) იცავს თქვენს კონფიდენციალურობას და საშუალებას გაძლევთ შეზღუდოთ რა ფოტოებსა და ვიდეოებზე აქვს წვდომა აპს. სამწუხაროდ, ბევრ აპს არ აქვს Photo Picker-ის მხარდაჭერა, მიუხედავად იმისა, რომ მისი ჩამორჩენილი თავსებადი ვერსია ხელმისაწვდომია Android 4.4+-ისთვის. აპებმა კონკრეტულად უნდა გამოიძახონ Photo Picker განზრახვის გამოყენებით, მაგრამ ბევრი აპი ირჩევს არ გამოიყენოს იგი ამა თუ იმ მიზეზის გამო. საბედნიეროდ, ამას შეიძლება აღარ ჰქონდეს მნიშვნელობა

Android 14, რომელიც ამოწმებს საშუალებას მომხმარებლებს აირჩიონ რომელ ფოტოებსა და ვიდეო აპებს შეუძლიათ წვდომა Photo Picker-ის მეშვეობით, მიუხედავად იმისა, რეალურად იყენებენ თუ არა ამ აპებს API-ს.

ბევრი აპი წვდება მედია ფაილებს მეშვეობით მედია მაღაზიის API. სისტემა ახდენს ფაილების ინდექსირებას მათი ტიპის მიხედვით, რომელსაც ეწოდება მედია მაღაზიის კოლექციები და ინახავს მონაცემთა ბაზას, რომლის მოთხოვნაც აპებს შეუძლიათ მედია მაღაზიის API-ის გამოყენებით. აპებს, რომლებიც იყენებენ მედია მაღაზიის API-ს, არ სჭირდებათ ნებართვის მოთხოვნილება, წაიკითხონ ან შეცვალონ მათ საკუთრებაში არსებული ფაილები, მაგრამ მათ უნდა მიენიჭონ მომხმარებლის მიერ ნებართვა სხვა აპების საკუთრებაში არსებულ ფაილებზე წვდომისთვის.

Android 10-დან დაწყებული, აპებს, რომლებიც მიზნად ისახავს API დონის 29 ან უფრო მაღალ დონეს, უნდა მიენიჭათ READ_EXTERNAL_STORAGE ნებართვა მომხმარებლის მიერ, სანამ ისინი გამოიყენებდნენ მედია მაღაზიის API-ს ფაილებზე წვდომისთვის ეკუთვნის სხვა აპებს. Android 13-ში READ_EXTERNAL_STORAGE ნებართვა დაიყო სამ სხვადასხვა ნებართვად (READ_MEDIA_AUDIO, READ_MEDIA_VIDEO და READ_MEDIA_IMAGES), რომლებიც თითოეული ანიჭებს აპს, რომელიც მიზნად ისახავს API 33 დონის უნარს გამოიყენოს მედია მაღაზიის API აუდიო, ვიდეო და გამოსახულების ფაილებზე წვდომისათვის, შესაბამისად, რომლებიც ეკუთვნის სხვას. აპლიკაციები.

Android 14 კიდევ ერთხელ ცვლის მედიაზე წვდომის ნებართვებს READ_MEDIA_VIDEO, READ_MEDIA_IMAGES და ACCESS_MEDIA_LOCATION-ის კომბინაციით ახალ ნებართვაში, სახელწოდებით READ_MEDIA_VISUAL_USER_SELECTED. ეს ნებართვა საშუალებას აძლევს აპს, რომელიც მიზნად ისახავს API 34 დონეს, „წაიკითხოს მომხმარებლის შერჩეული სურათები და ვიდეო ფაილები საერთო მეხსიერებიდან“, მისი აღწერილობის მიხედვით. თუმცა, Android 14-მა შეიძლება რეტროაქტიულად გამოიყენოს ეს ახალი ქცევა არსებულ აპებზე, რომლებიც მიზნად ისახავს API დონეს 33 (ე.ი. Android 13) და მოითხოვეთ READ_MEDIA_VIDEO ან READ_MEDIA_IMAGES.

როდესაც აპი, რომელიც მიზნად ისახავს API დონის 33-ს, ამოიღებს გაშვების დროის ნებართვის დიალოგს, რათა სთხოვოს მომხმარებელს მისცეს READ_MEDIA_VIDEO ან READ_MEDIA_IMAGES (ან ორივე), Android 14-მა შეიძლება ჩადოს ახალი ჩანაწერი ნებართვის დიალოგი, რომელიც ამბობს "აირჩიე ფოტოები". ამ ჩანაწერზე შეხებით დაიწყება Photo Picker-ის ახალი ვერსია, რომელიც მომხმარებელს საშუალებას აძლევს აირჩიოს რომელ ფოტოებსა და ვიდეოებს უნდა მიანიჭოს აპს წვდომა. რომ. აპს შემდგომში აქვს წვდომა მხოლოდ იმ მედია ელემენტებზე, რომლებიც მომხმარებელმა სპეციალურად აირჩია, თუ მომხმარებელი არ აირჩევს გააფართოვეთ წვდომა დამატებით მედია ელემენტებზე ან მიანიჭეთ აპს წვდომა სურათების მთელი მედია მაღაზიის კოლექციებზე და ვიდეოები.

ნებართვის დიალოგში ეს ჩანაწერი ნაგულისხმევად არ არის ნაჩვენები Android 14 DP1-ში, რადგან მისი ხილვადობა შეზღუდულია დეველოპერის დროშით, რომლის გადართვაც მომიწია. თუმცა, თუ ეს ფუნქცია გამოვა, ეს იქნება მთავარი გამარჯვება კონფიდენციალურობისთვის, რადგან ეს ნიშნავს, რომ მომხმარებლებს ყოველთვის ექნებათ შესაძლებლობა გადაწყვიტონ რომელ ფოტოებზე ან ვიდეოებზე უნდა ჰქონდეს წვდომა აპს.

ძალიან ცოტა აპი იყენებს Photo Picker API-ს ისეთად, როგორიც არის, რაც Google-ს ექსპერიმენტებისკენ უბიძგებს არსებული განზრახვის ჩაჭრა რომელსაც აპები იყენებენ სისტემის ფაილების ამომრჩევის გასაშვებად, რათა მათ ნაცვლად გაუშვან Photo Picker. მიუხედავად იმისა, რომ Photo Picker-ს აქვს გარკვეული ხარვეზები, მაგალითად, ჯერ არ არის ნაჩვენები ფაილები ღრუბლოვანი მედია პროვაიდერებისგან (ალბათ მალე გაფართოება SDK ვერსია 5!) და აჩვენებს მხოლოდ გარკვეულ ალბომებს მოწყობილობაზე, ის უკეთესია, ვიდრე ძველი სისტემის ფაილების ამომრჩევი და, რა თქმა უნდა, სასურველია ყველა აპს, რომელსაც აქვს წვდომა გალერეის ყველა ფოტოსა და ვიდეოზე.

დეველოპერებმა, რომლებიც დაინტერესებულნი არიან Photo Picker API-ის დანერგვით, უნდა განაახლონ უახლეს ვერსიაზე Jetpack Activity ბიბლიოთეკა, რომელიც ამუშავებს Google Play Services-ის მეშვეობით Android 4.4-Android 10-ზე მოწოდებული უკან თავსებადი ვერსიის გამოძახებას ან ჩარჩო-მოწოდებული ვერსიის, რომელიც მოწოდებულია MediaProvider Mainline მოდული.