Keresés

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

  • #82729984

    törölt tag

    válasz micafighter #27 üzenetére

    Az appok jogosultságait viszonylag könnyen lehetne állítani anélkül hogy hiba lenne, erre már mások rávilágítottak. Most ugye szanaszét crashelnek az alkalmazások ilyen esetben, mert az android sz@rul kezeli ezt le.

    De lehetne ezt igy is:
    megtiltod a névjegyzékhez történő hozzáférést: egyszerüen a rendszer azt jelzi vissza hogy van névjegyzék de üres. Ezt minden névjegyzéket használó alkalmazásnak illik lekezelni mert ugye ez normális is lehet.
    Vagy irni akar az sd kártyára: sd kártya nincs felmountolva. Ezt sem vezethez nem várt hibához és ez is normális állapot.

    Egyedül a net hozzáférést nem lehetne állítani és akkor minden probléma megoldva. A reklámok megjelennének (hisz ez a biznisz a google-nek) viszont az összes többi engedély állítható lenne. És ezt az alkalmazás teljesen normál állapotnak érzékelné, tehát elszállás nélkül müködne tovább, maximum az adott funckió nem fog müködni.

    "Google pedig nem fogja bevezetni a jogosultságok állithatóságát, mert akkor mondjuk facebook nem fejlesztene appot androidra"

    Ez meg jó nagy hülyeség. A facebook az emberekből él, csúnyán csődbe menne ha a legnagyobb mobil platformra nem fejlesztene alkalmazást. Itt nem a google függ a facebooktól hanem pont fordítva.

  • #82729984

    törölt tag

    válasz pakriksz #42 üzenetére

    Képzeld, tényleg szakértő vagyok.

    Ahogy te gondolod az az ahogy azt móricka elképzeli.
    Mondok egy példát a saját programomból van. A program egy bizonyos ponton csatlakozni akar egy hosthoz, ezért csatlakozás előtt megpróbál egy hostnevet feloldani címmé.
    Hivatkozott API:
    http://developer.android.com/reference/java/net/InetAddress.html#getByName%28java.lang.String%29
    public static InetAddress getByName (String host)
    ...
    Throws
    UnknownHostException if the address lookup fails.

    Ezt az exceptiont a programom el is kapja és lekezeli. Ezen felül a program full internet elérést kér telepítéskor anélkül fel sem települ.

    A programban van lehetőség hibákat reportálni tehát látom ha valakinél elszáll. Na már most van ilyen crash amit beküldtek:

    libcore.io.ErrnoException: getaddrinfo failed: EACCES (Permission denied)
    ..
    8 Caused by: java.lang.SecurityException: Permission denied (missing INTERNET permission?)
    ...
    11 at java.net.InetAddress.getByName(InetAddress.java:289)

    B.zd meg... Az official API szerint ez a függvény ilyen exceptiont nem dobhatna, tehát én nem is kezelem le. A hiba oka, hogy valaki futásidőben megtagadta az internet engedélyt, ugye 4.3-tól volt/van erre lehetőség. És erre a rendszer dob egy olyan exceptiont amilyen ott nem létezik az API szerint...

    na ezt hogy kezeled le? Persze, elkaphatod a világ összes exceptionját, de ugye ez azt jelenti hogy _minden_ egyes sor kódot try catch-be kéne raknod. Mert a fenti a példa rá, hogy bármely utasítás dobhat nem dokumentált exceptiont ha futásidőben tagadod meg az engedélyt. És nem tudod hogy melyik dobhat ilyet.

    Aztán jönnek a hozzád hasonló jóképességü userek és szidják a fejlesztőt hogy elszállt az alkalmazás. Hát ja mert te megtagad az engedélyt amit hivatalosan nem lehetne, a google meg b@szott ledokumentálni hogy egy utasítás milyen exceptionöket válthat ki...

  • #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.

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