Keresés

Új hozzászólás Aktív témák

  • Dilikutya

    félisten

    válasz Szatyor95 #50 üzenetére

    A kamera app tárhelyhasználata egy dolog, de az nem normális, hogy valami hozzáférést kér a galériához, SMS-ekhez, cínjegyzékhez.

    Nem vagyok perverz, csak haladok a korral. (Még mindig: Rock&roll feeling baby, rock&roll feeling.....)

  • #82729984

    törölt tag

    válasz Szatyor95 #50 üzenetére

    Semmi nem válna müködésképtelenné.
    Ahogy irtam, csak annyit kéne a google-nek csinálni hogy normális hibát ad vissza a nem dokumentált exception helyett.

    Pl. kamera app, megtagadod az sd kártya írását.
    ilyenkor amikor az app megpróbál hozzáférni a kártyához, kapna egy exceptiont hogy sd kártya nincs mountolva. Ezt minden sd kártyát használó alkalmazásnak kötelező lekezelni már most is hisz teljesen normális hogy az sd kártya nincs bedugva.

    És az alkalmazás crash helyett szépen kiirná hogy sd kártya nem elérhető, nincs mountolva.
    Ha ez szükséges neki (mert kamera app) akkor egyszerüen csak nem fogja tudni elmenteni a képet.
    Ha meg nem, mert egy zseblámpa alkalmazás, akkor meg ennyi, ez semmilyen funkcióját nem szabadna befolyásolni.

    és mivel az engedélyt te tagadod meg, nyilván eszedbe fog jutni hogy a kamerától megtagadtól az sd kártya elérést amikor kiirja hogy sd kártya nem elérhető. Ha meg nem, akkor hülyeség ellen nincs gyógyszer.

    Több engedélyt meg nem tudsz megadni mint amit az app alapból igényelt.

  • torreadorz

    csendes tag

    válasz Szatyor95 #55 üzenetére

    "Viszont ha jól sejtem, erre az alkalmazást is fel kellene készíteni.Ha nincs igazam, akkor nyugodtan szólj, programozási tudásom kimerül a Pascal alapjainá"

    Nem kell felkészíteni, pont ez a lényeg. Megpróbálom úgy elmagyarázni hogy kevés programozási tapasztalattal is megértsd.
    Ha pl. SD kártyát akarsz használni, akkor kötelezően le kell kezelned hogy az nincs csatlakoztatva. Ez teljesen független az engedélyektől, amikor egy alkalmazás irni/olvasni akar onnan akkor előtte le kell kérnie az sd kártya állapotát mert nem tudhatod hogy pl. a felhasználó épp most vette ki. Ez már igy van kb. 1.6-os androidtól, szóval ebben nincs semmi új.

    Tehát van egy beépített függvény, nevezzük isExternalStorageAvailable()-nak ami visszaad egy igaz/hamis értéket attól függen hogy van sd kártya bedugva vagy nincs. Ha hamis, akkor szépen kijelzed a felhasználónak hogy nem lehet menteni mert nincs sd kártya csatlakoztatva ha meg igaz, akkor elmented amit akarsz. Mindenki happy. Ez a normál müködés.

    A probléma ott van, hogyha te megtagadod az sd kártya irása engedélyt, akkor amikor a program meghívja az isExternalStorageAvailable() függvényt (ami az android core-ban van és tök független a programtól), akkor az ahelyett hogy visszaadna egy hamis értéket, egy nem dokumentált kivételt dob.
    Mivel nem dokumentált kivételt dob (nem is dobhatna kivételt), a program illetve a programozó ezt nem tudja lekezelni, következményképp a program elszáll. _Ez a jelenlegi, nem jó viselkedés_

    Ehelyett az android (illetve a google) azt is csinálhatná, hogyha nincs engedély, akkor az isExternalStorageAvailable() függvény egyszerüen visszatér egy hamis értékkel ahogy várnánk. Hisz engedély hiányában az sd kártya nem elérhető. És mivel az alkalmazás a fentiek miatt amúgy is igaz/hamis értéket vár, ez nem okozna gondot, szépen kijelezné hogy az sd kártya nem elérhető nem lehet menteni stb.
    Mindenki boldog. _Ez lenne az elvárt viselkedés_

    Tehát a lényeg, az alkalmazásokhoz hozzá sem kéne nyúlni egyedül az android rendszerben kéne azt megcsinálni hogyha nincs engedély akkor az ismeretlen, nem dokumentált kivételek helyett csinálja azt amit elvárnánk. Ha nem elérhető az sd kártya (tökmindegy hogy nincs csatlakoztatva vagy nincs engedély), akkor az sd kártya elérhetőségét vizsgáló függvény adjon vissza hamis értéket.

Új hozzászólás Aktív témák