Innehållsförteckning:
Integritet och säkerhet kommer att vara ett stort fokus för Android Q. Det är bra för varje användare, särskilt när många av förändringarna inte kräver några åtgärder från vår sida. Säkerhetsexperter som oroar sig för säkerheten på våra telefoner gör att vi kan fortsätta använda dem som vanligt och alla vinner, med undantag för en potentiell hackare eller svindlare. Men en viktig förändring av en grundläggande funktion i Android - att dela dina filer mellan vilken app som helst - är att få en stor förändring som kommer att leda till massor av app-utvecklare bakslag: Scoped Storage.
Så fungerar Scoped Storage
En gång fungerade Android som alla andra operativsystem på skrivbordet när det kom till åtkomst till dina filer; saker som dokument, foton, musik eller något annat du ville lagra på din enhet var där för någon annan app att öppna. Du sa att det var OK för en app att göra detta när du installerade den, och det gjorde det bara. Med hjälp av appens ursprungliga användargränssnitt kan du bläddra i filsystemet och se alla dina offentliga filer.
Med Android 4.4 KitKat började Google göra ändringar och lägga till begränsningar för hur en app kunde komma åt filer den inte ägde, och med Android 5.1 implementerades Storage Access Framework. Detta gav appar ett sätt att få åtkomst till filer i andra mappar med ett Android API istället för att använda standardiserade filfunktioner. Det fungerar. Det är långsamt och ganska opopulärt, men det är tillgängligt och nu har nästan varje utvecklare av en app som behöver den här typen av global åtkomst åtminstone testat den för att se hur lämplig den är eller inte baseras på deras behov.
Med Android Q: s Scoped Storage är saker både mer restriktiva och lättare samtidigt. En kompatibel app ges en egen mapp för användarorienterade data. Appar har redan en privat mapp med sandlådor för lagring av de obligatoriska filerna och det är inte tillgängligt för någon annan app. Scoped Storage ger möjlighet att skapa en andra mapp för filer som appen skapar eftersom vi använde den och sa till den att skapa dem. Tänk på en app som en röstinspelare, till exempel; den behöver någonstans för att lagra ljudfilerna som skapas.
Appen behöver ingen tillåtelse att läsa eller skriva någon fil i den här mappen, så du blir inte ombedd att ge några behörigheter när du först kör den om filläsnings- och skrivplatser. Appar behöver också tillåtelse för varje mapp de vill komma åt men inte äger.
Utvecklare har använts för att använda specifika metoder för filåtkomst sedan Lollipop, men de är väldigt upopulära.
"Delade" mappar som Musik eller Bilder har en inbyggd metod för att få åtkomst (för tillfället - det kan vara tillfälligt medan Android Q är i beta) men alla andra mappar på den externa lagringen, som är din gratis interna lagring och din SD kort om du har ett, behöver nu specifikt tillstånd för att komma åt. Tänk nu på en app som en filhanterare, och hur den behöver för att få åtkomst till varje mapp på ditt SD-kort och internminne.
Utvecklare som behöver komma åt mappar som inte ägs av deras app kommer att behöva använda API: er för lagringsåtkomst. Det betyder att den måste fråga API: n för att se om filerna finns och få dess enhetsplats och be användaren om tillåtelse att använda den. Detta har varit den rekommenderade bästa praxis för filåtkomst sedan Android Lollipop, så det är inte exakt nytt. Men med Android Q är det nu strikt genomfört och inte längre "valfritt".
Varför göra denna förändring?
Google ger två giltiga skäl till varför den gör denna förändring: Säkerhet och för att minska resterande "app-röran."
På säkerhetsfronten gör denna förändring några saker. Först och främst stoppar det skadliga appar som beror på att du ger åtkomst till känslig information eftersom du inte läste vad du såg i dialogrutan och bara klickade ja. Detta händer ofta nog att det behövde hanteras om bara för att skydda gärningsmännen. Och vi har alla gjort det.
Det gör det också möjligt för en utvecklare att ha sitt eget utrymme för lagring av din enhet som är privat utan att begära några specifika behörigheter (se det första skälet igen) när den körs första gången. Och ingen annan app kan komma åt något dokument som det skapar utan att du säger att det kan.
Anledningen till en förändring är bra, men förändringen i sig är inte väl mottagen.
Att minska app-röran behöver lite förklaring. När du avinstallerar en app, filerna och mapparna tappar den över hela enhetens lagring när du gav den tillåtelse att göra det kvar. Tillräckligt med dessa rester kan börja påverka prestandan, särskilt om filerna använder ett vanligt namn som kan upprepas av en annan app. Om en utvecklare bygger en app som skapar media som en kamera-app eller musikinspelare, till exempel, kan han eller hon använda de vanliga platserna för media-mapp för att sätta in de saker du skapar så att de inte tas bort om appen avinstalleras.
Inte skrivet i sten
Android Q finns fortfarande i beta; det betyder att utvecklare uppmuntras att installera det och ge feedback. Just nu är feedbacken för Scoped Storage inte särskilt bra. Det finns till och med en framställning som ber Google att ta bort funktionen för tillfället och ompröva dess genomförande.
Utvecklare delar sina frustrationer med hjälp av officiella feedbackkanaler, och även om Google ibland känner sig som ett fast föremål lyssnar det. Framför allt är Android en applikationsplattform, och att bryta populära appar är inte något utvecklarna vill göra.
Saker kan ändras innan Android Q går slutgiltigt när det gäller Scoped Storage. Eller så kan den avlägsnas helt. Vi vet när vi ser det hösten 2019.
Android Q: Allt du behöver veta!