Android 6'da, bir uygulamanın ağa erişim iznini reddetmek nasıl?


30

Android 6'da, kullanıcı (nihayet!) Bir uygulamaya özel izinleri onaylama veya reddetme olanağına sahiptir.

Ancak, ağ erişimini Wi-Fi veya hücresel veri bağlantısı ile onaylamanın veya reddetmenin bir yolunu bulamadım. İlgili izin "Diğer uygulama yetenekleri" nde görünmektedir ve yalnızca bilgilendiricidir - görünüşe göre değiştirmenin yolu yoktur.

İşte Satranç Ücretsiz uygulaması ile bir örnek:

ekran görüntüsü


4
Yapamazsın Güvenilir bir kaynak bulmama izin verin, ancak Google’ın çıkarlarına çok fazla zarar vereceği için yerel olarak yapamazsınız (reklamlar, yani). Düzenleme: Bu makaleyi ilginç bulacaksınız: androidpolice.com/2015/06/06/…
Firelord

Yanıtlar:


27

Android'in yerel mekanizması ile başarı elde edemezsiniz.

Android Polisi'nden Cody Toombs, makalede bunu çok iyi bir şekilde belirtmiştir: Android M, Kullanıcılardan Internet'i Kullanma İznini Asla Sormaz ve Muhtemelen Tamamdır .

Google Belgenin Normal ve Tehlikeli İzinleri bölümünde izinlere genel bakış , Google’ın şunları kaydetti:

İzinler birkaç koruma seviyesine ayrılmıştır.

Üçlü parti uygulamalarını etkileyen iki koruma seviyesi vardır: normal ve tehlikeli izinler.

  • Normal izinler, uygulamanızın uygulama sanal alanı dışındaki verilere veya kaynaklara erişmesi gereken alanları kapsar, ancak kullanıcının gizliliği veya diğer uygulamaların çalışması için çok az risk olduğu yerlerdir . Örneğin, saat dilimini ayarlama izni normal bir izindir.

    Bir uygulama normal bir izne ihtiyaç duyduğunu beyan ederse, sistem otomatik olarak bu izni yükleme sırasında uygulamayı verir. Sistem, kullanıcıdan normal izinler vermesini istemez ve kullanıcılar bu izinleri iptal edemez.

  • Tehlikeli izinler, uygulamanın kullanıcının kişisel bilgilerini içeren veri veya kaynakları istediği veya kullanıcının depolanan verilerini veya diğer uygulamaların çalışmasını etkileyebileceği alanları kapsar. Örneğin, kullanıcının bağlantılarını okuyabilmek tehlikeli bir izindir. Bir uygulama tehlikeli bir izin gerektirdiğini bildirirse, kullanıcının açıkça uygulamaya izin vermesi gerekir.

(Vurgu madeni)

Şaşırtıcı veya değil, aşağıdaki izinler Normal İzinler listesinde yer almaktadır :

  • CHANGE_NETWORK_STATE - uygulamaların ağ bağlantı durumunu değiştirmesine izin verir - yani mobil veri;
  • CHANGE_WIFI_STATE - uygulamaların Wi-Fi bağlantı durumunu değiştirmesine izin verir;
  • İNTERNET - uygulamaların ağ soketlerini açmasına izin verir.

Bu yeterli olmazsa, burada AppOps tarafından yönetilen izinleri kontrol edin . Burada listelenen izninizi bulamazsanız, GUI'de onunla hiçbir şey yapamazsınız.

Alternatif yöntemler zaten bu sitede kapsamlı bir şekilde ele alındığından, bakınız:


12
Cevabınız için teşekkürler. Teknik yetersizlikler nedeniyle değil, piyasa nedenlerinden dolayı özelliklerin sakat kalması hayal kırıklığı yaratıyor.
dr01 11

25

Sen kullanabilirsiniz NetGuard (listemi bkz İnternet Güvenlik duvarları (hatta her zaman ya da sadece ekran kapalıysa kablosuz veya mobil veri ve benzeri) kökü olmadan çalışır ve Uygulamalar için internet erişimi seçici engellemek sağlayan diğer alternatifler). Bu XPrivacy ' in aygıtından geliyor, bu yüzden iyi olmalı;)

NetGuard NetGuard NetGuard
NetGuard (kaynak: Google Play ; daha büyük değişkenler için resimlere tıklayın)

NetGuard açık kaynak kodludur, bu yüzden F-Droid'de de bulabilirsiniz .

Güncelleme: Netguard’ın son sürümlerinin Google Reklamlar’ın yanı sıra Firebase Analytics’in de dahil olduğunu - IMHO’nun güvenlik duvarı (veya başka bir güvenlik) uygulamasında hiçbir işi olmadığını belirten iki şey - bunun muhtemelen F-Droid’lerde güncellenmemesinin sebebi resmi repo (hala uygun uyarılarla mayın halinde mevcut ).


1
NetGuard'ın F-Droid çeşidi aslında Play Store'da izin verilenden daha fazla işlevsellik kattı.
veDevW

Uygulama içi reklamları engelleyebilir mi?
Ölümsüz Oyuncu

1
@ImmortalPlayer, bir uygulamanın ağ erişimine izin verilmemesi durumunda, reklamları da yükleyemez. Yani bunun cevabı "evet" olur.
Izzy



3

Yerel olarak Android'deki bireysel uygulamalar için İnternet erişimi reddedilemez. Reklamlar, Google’ın gelirinin ana kaynaklarıdır.

Ancak Opera Max kullanıyorsanız, internet erişimini bireysel uygulamalara kısıtlayabilirsiniz. Opera'nın sıkıştırma teknolojisi sayesinde verileri bile kaydedebilirsiniz.

Opera Max'i Play Store'dan yükleyin . Tamamen ücretsiz ve kullanımı kolaydır. Kök gerekmez.


Güncelleme : Artık çok fazla reklam sunmaya başladıktan sonra Opera Max hayranı değil.
NVZ

3

Son zamanlardaki bazı olaylar ışığında, bu soruyu Google’dan Üçgen’i getirerek geliştirmek istiyorum . APKMirror veya APKPure'a alın ve ADB ile yükleyin .

İşte bazı temel özellikler.

Kullanılan mobil veriler Engellenen uygulamalar için verilere izin ver Wi-Fi açıkken kapat Varsayılan olarak her şeyi engelle

Bu bir VPN değil, yerel olarak uygulamalarınızın İnternete erişimini engelliyor. Kamerayı kullanmak veya bulunduğunuz yere erişmek gibi yeni bir izin olarak düşünün.


1
Bu, benzer uygulamalar gibi bir VPN / proxy kullanıyor mu? Yerel kütüphanelerden erişimi engelliyor mu?
hackel

1
@hackel Ben kurdum (ülkemde bulunmaz olduğu söylendiğinden beri yan yana yüklenmek zorunda kaldı). Bir VPN'yi etkinleştirmemi istedi. Ayrıca WIFI'ı engellemiyor gibi görünüyor.
Bort

3

önsöz

Geç olabilir, ancak sorunuza kendi kararımı vermek istiyorum. Bu cevap, bir uygulamaya internet erişimini engellemenin kesin yoludur. Dezavantajları? Amaçları engellemiyor, kıvrılıyor ve hedef uygulamanın çökmesine neden olabilir ve kök ayrıcalıkları gerektiriyor .

Android 7.1.2'ye kadar çalışması için test edilmiş ve onaylanmıştır.


gerekçe

Diğer cevaplayıcıların da belirttiği gibi, internete erişmek isteyen herhangi bir uygulama, android.permission.INTERNETkendi içinde yadsınamaz bir izin vermelidir AndroidManifest.xml. Yine de Android, bir uygulamanın hangi izinleri istediğini nasıl hatırlıyor? Bunları içeride kaydederek packages.xml, bulunan korumalı bir dosya /data/system.

Kök ayrıcalıklarına sahip olmak kaydıyla, bizim gibi birinin izin ekleme veya kaldırma amacıyla söz konusu dosyayı düzenlemekle ilgilenebileceğini söylemeye gerek yoktur . Bu, VPN veya güvenlik duvarı yazılımı olmayan bir uygulamaya internet erişimini engellemenin yoludur.


packages.xmldosya

packages.xmlDosya listeleri birlikte yolları ve izinlerle yüklenen uygulamaların hepsi,. Her uygulama <package></package>etiketleri arasına yerleştirilir ; Cevabım uğruna, TeslaCoil tarafından Nova Launcher'ı hedefleyeceğim. Dosyadaki uygulamanın stanza aşağıdaki gibidir:

    <package name="com.teslacoilsw.launcher" codePath="/data/app/com.teslacoilsw.launcher-1" nativeLibraryPath="/data/app/com.teslacoilsw.launcher-1/lib" publicFlags="944258628" privateFlags="0" ft="16075caace8" it="16075cac965" ut="16075cac965" version="53000" userId="10083" installer="com.android.packageinstaller">
        <sigs count="1">
            <cert index="7" key="3082034d30820235a0030201020204638fbad3300d06092a864886f70d01010b05003057315530530603550403134c726f636b7a35353535204f553d44726f69642046726565646f6d20556e6974204f3d44726f69642046726565646f6d20496e63204c3d556e6b6e6f776e20533d556e6b6e6f776e20433d4c4b301e170d3134313230353030343535375a170d3434313132373030343535375a3057315530530603550403134c726f636b7a35353535204f553d44726f69642046726565646f6d20556e6974204f3d44726f69642046726565646f6d20496e63204c3d556e6b6e6f776e20533d556e6b6e6f776e20433d4c4b30820122300d06092a864886f70d01010105000382010f003082010a0282010100818b312365be3e55f48989d43468880067464eca65aa3ba73305178311fc2a053c143182f6d2ea635b57dc327adf8a5a9b763c03f0a48c38530114e6979358d6bfca37d161ca6fe8bb0d80f061d7b67bc1456cdfc38e0cda2ebd05c48113f701140950f0fe4315de6b95c7504129abb2c1a61f1e4f1229fb83f474dbcd7dc957b84a1b8a2aa0157b223609d77980a3f579c93fbb24a6f9fbb5a8e207cccdf1add616c95c732d5c114c0168fdbd9c00ddf211c2b8886b9498a34f389025802e334f404b7e4eb75f6308f086e5bdac64db10053c7ff8d21a350b941d5394ffbe2bd037139134eb065c2317625e65d3f628aecf7965a0d70b02e68aa8371efd1fe50203010001a321301f301d0603551d0e04160414a4e66b693ecdf3241883e3eed668354e1531ba11300d06092a864886f70d01010b050003820101003992f3f461a290db767911a4a519f035fe0c34e597e2fba2e31371e260bd2fc8f9a93c35e6f06553d02588d2f8453ee784d2ba09a696e66304e3e01f7c6bdf5b2747fc73f79d00379cc94eefa542c8eb308318364df2fa1a9c6a7ef0669d08f7b1f8635d0d4331e2817d5aeb0854760116c29801cf915ef67d5c0e04861cad4fa7b96fe8f9a0baf0cda649cd35a7122142ba38b2d16d9d319a8604a41fe0025d89be87f84ce8fc080ab54c76a96f3d9b70b1a5f5e18e48768e3684bca8a950665e16a6d50cf0045949baebca876d55eeba52ea421f33009872d9d654f8f8caa1bb465d754694d4bf6cb92f3299fbec3781849b37e6ba23ffe3d6c20ecb9bc65d" />
        </sigs>
        <perms>
            <item name="com.android.launcher3.permission.READ_SETTINGS" granted="true" flags="0" />
            <item name="com.google.android.c2dm.permission.RECEIVE" granted="true" flags="0" />
            <item name="com.teslacoilsw.launcher.permission.C2D_MESSAGE" granted="true" flags="0" />
            <item name="android.permission.EXPAND_STATUS_BAR" granted="true" flags="0" />
            <item name="android.permission.WRITE_MEDIA_STORAGE" granted="true" flags="0" />
            <item name="android.permission.INTERNET" granted="true" flags="0" />
            <item name="android.permission.ACCESS_NETWORK_STATE" granted="true" flags="0" />
            <item name="android.permission.SET_WALLPAPER" granted="true" flags="0" />
            <item name="android.permission.SET_WALLPAPER_HINTS" granted="true" flags="0" />
            <item name="android.permission.VIBRATE" granted="true" flags="0" />
            <item name="android.permission.ACCESS_WIFI_STATE" granted="true" flags="0" />
            <item name="android.permission.WAKE_LOCK" granted="true" flags="0" />
        </perms>
        <proper-signing-keyset identifier="10" />
    </package>

Girinti dosyadan sözlü olarak rapor edilir.


prosedür

Yukarıdaki bilgilerle donanmış olarak, şimdi Nova Launcher'ın izinlerini, arasına sarılmış olarak incelemeye devam edebiliriz <perms></perms>. Yakında, düzenlememiz gereken tek şeyi bulacağız:

            <item name="android.permission.INTERNET" granted="true" flags="0" />

Uygulamaya internet erişimini etkin bir şekilde reddetmek için, tüm satırı silmemiz ve cihazımızı yeniden başlatmamız yeterlidir. Gelecekte kullanım için yorum yapmak yararsızdır: Android bu dosyayı her açılışta inceler ve yorumlarınızı temizler .


Dezavantajları

Bu prosedürü izleyerek, internetle hiçbir şekilde iletişim kuramayacağınız bir uygulamayı netleştireceksiniz. Ancak, kötü kodlanmış uygulamalar ve Marshmallow ve üstü için tasarlanan yazılımlar , Nova'nın yaptığı gibi , internete bağlanmaya çalışırken çökebilir .

Ayrıca, Firelord'un belirttiği gibi, bir uygulamanın güncellenmesi değişikliklerin geri alınmasına, çabalarımızı etkin bir şekilde geçersiz kılmasına ve yeniden silinmesine izin verilmesine neden olur.


Bu prosedürü değiştirmek

Yukarıda yaptığımız şeyi tersine çevirmek için gereken tek şey, diğerlerinin arasına yeniden sildiğimiz izni eklemek ve cihazı yeniden başlatmak.


feragat

Nova Launcher veya geliştiricisine bağlı değilim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.