Android 6では、ネットワークにアクセスするアプリの許可を拒否する方法は?


30

Android 6では、ユーザーは(最終的に)アプリに対する特定の許可を承認または拒否する可能性があります。

ただし、Wi-Fiまたはセルラーデータ接続を介してネットワークアクセスを承認または拒否する方法を見つけることができませんでした。関連する許可は「その他のアプリの機能」に表示され、情報提供のみを目的としています。明らかに変更する方法はありません。

以下は、チェス無料アプリの例です。

スクリーンショット


4
できません。信頼できる情報源を見つけてみましょうが、Googleの利益(広告など)を大きく損なうため、ネイティブで実行することはできません。編集:この記事は興味深いものです。androidpolice.com
2015

回答:


27

Androidのネイティブメカニズムを介して成功することはできません。

Android PoliceのCody Toombsはこれを記事で非常によく指摘しています。AndroidMはユーザーにインターネットの使用許可を決して求めませんが、おそらく大丈夫です

文書の「権限の概要」の「 通常の権限と危険な権限」セクションで、Googleは次のことに注意しています。

権限はいくつかの保護レベルに分けられます。

サードパーティのアプリに影響する保護レベルには、通常のアクセス許可と危険なアクセス許可の2つのレベルがあります。

  • 通常のアクセス許可は、アプリがアプリのサンドボックス外のデータまたはリソースにアクセスする必要があるが、ユーザーのプライバシーまたは他のアプリの操作に対するリスクがほとんどない領域を対象としています。たとえば、タイムゾーンを設定する権限は通常の権限です。

    アプリがマニフェストで通常の許可が必要であると宣言した場合、システムはインストール時にその許可をアプリに自動的に付与します。システムはユーザーに通常のアクセス許可を付与するように求めず、ユーザーはこれらのアクセス許可を取り消すことはできません。

  • 危険な権限は、アプリがユーザーの個人情報を含むデータまたはリソースを必要とする領域、またはユーザーの保存データや他のアプリの動作に影響を与える可能性のある領域をカバーします。たとえば、ユーザーの連絡先を読み取る機能は危険な許可です。危険な許可が必要であるとアプリが宣言した場合、ユーザーはアプリに明示的に許可を付与する必要があります。

(エンファシス鉱山)

驚くべきかどうかにかかわらず、次のアクセス許可は通常のアクセス許可のリストに含まれています。

  • CHANGE_NETWORK_STATE-アプリケーションがネットワーク接続状態を変更できるようにします-すなわち、モバイルデータ;
  • CHANGE_WIFI_STATE-アプリケーションがWi-Fi接続状態を変更できるようにします。
  • インターネット -アプリケーションがネットワークソケットを開くことができます。

それで十分でない場合は、ここで AppOpsが管理する権限を確認してください。そこにリストされている許可が見つからない場合、GUIで許可を使用して何もできません。

代替方法はこのサイトですでに広範囲にカバーされているため、以下を参照してください。


12
ご回答有難うございます。機能が機能しなくなるのは、技術的な不可能性ではなく、市場の理由のために残念です。
dr01

25

あなたは使用することができNetGuardが(私のリストを参照インターネットファイアウォールルートなしで動作し、(画面がオフの場合でも、常にのみWiFiまたはモバイルデータ、および)あなたが選択的にアプリケーションのためのインターネットアクセスをブロックすることができます他の選択肢のために)、。それはのDEVからだXPrivacy、それは良いことがあります。)

ネットガード ネットガード ネットガード
NetGuard(出典:Google Play。大きなバリエーションの画像をクリック)

NetGuardはオープンソースなので、F-Droidでも見つけることができます

更新: Netguardの最近のバージョンには、Google広告とFirebase Analytics(IMHOがファイアウォール(またはその他のセキュリティ)アプリケーションで機能しない2つのこと)が含まれていることに注意してください。公式レポ(適切な警告が表示された状態で鉱山入手可能


1
NetGuardのF-Droidバリアントには、実際にPlayストアで許可されている機能を超える機能が追加されています。
andDevW

アプリ内広告をブロックできますか?
不滅のプレーヤー

1
@ImmortalPlayerは、アプリがネットワークアクセスを拒否された場合、広告を読み込むこともできません。したがって、その答えは「はい」になります。
イジー


4

あなたが持っている場合は、ルートのアクセスをあなたにも使用できます

デバイスをAndroid 6.0.1に更新しましたが、今までは両方とも機能しているようです。


3

Androidの個々のアプリに対して、インターネットアクセスをネイティブに拒否することはできません。広告は、Googleの収益の主要な源です。

ただし、Opera Maxを使用している場合、個々のアプリへのインターネットアクセスを制限できます。Operaの圧縮技術のおかげで、データを保存することもできます。

PlayストアからOpera Maxをインストールします。完全に無料で使いやすいです。ルートは必要ありません。


更新:あまりにも多くの広告を配信し始めた後、Opera Maxのファンではなくなりました。
NVZ

3

最近のいくつかのイベントを踏まえて、Triangle by Googleを導入してこの質問を改善したいと思います。APKMirrorまたはAPKPureで入手し、ADBでインストールします。

主な機能の一部を以下に示します。

使用されるモバイルデータ ブロックされたアプリのデータを許可するよう依頼する Wi-Fiがオンのときにオフにする デフォルトですべてをブロックする

VPNではなく、アプリがインターネットにアクセスするのをローカルでブロックします。カメラを使用したり、自分の場所にアクセスしたりするような新しい許可と考えてください。


1
これは同様のアプリのようなVPN /プロキシを使用しますか?ネイティブライブラリからのアクセスをブロックしますか?
ハッケル

1
@hackelをインストールしました(私の国では利用できないと言っていたため、サイドロードが必要でした)。VPNを有効にするように求められました。また、WIFIをブロックしていないようです。
BORT

3

前文

遅れるかもしれませんが、完全を期すために、あなたの質問に自分の意見を加えたいと思います。この答えは、アプリケーションへのインターネットアクセスをブロックする確実な方法です。欠点は?インテントをブロックせず、複雑で、ターゲットアプリをクラッシュさせる可能性があり、ルート権限が必要です。

テストされ、Android 7.1.2まで動作することが確認されています。


根拠

他の回答者が述べたように、インターネットにアクセスしたいアプリandroid.permission.INTERNETは、その内で否定できない許可を宣言する必要がありますAndroidManifest.xml。ただし、Androidはアプリが要求したアクセス許可をどのように記憶しますか?それらを内部packages.xmlに保存することにより、にある保護されたファイル/data/system

言うまでもなく、私たちのような人が、ルート特権を持っている場合、許可を追加または削除する目的で、このファイルを編集することに興味があるかもしれません。これは、VPNまたはファイアウォールソフトウェアなしでアプリへのインターネットアクセスを無効にする方法です。


packages.xmlファイル

このpackages.xmlファイルには、インストールされているすべてのアプリとそのパスおよび権限がリストされています。各アプリは<package></package>タグの間に配置されます。私の答えのために、TeslaCoilのNova Launcherをターゲットにします。ファイル内のアプリのスタンザは次のとおりです。

    <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>

インデントはファイルから逐語的に報告されます。


手順

上記の知識を武器に、Nova Launcherの許可を調べ<perms></perms>ます。すぐに、編集する必要があるのは1つだけです。

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

アプリへのインターネットアクセスを効果的に拒否するには、行全体を削除してデバイスを再起動するだけです。将来の使用のためにコメントアウトすることは無意味です。Androidは起動するたびにこのファイルを調べ、コメントを削除します


欠点

この手順に従うと、インターネットとの通信がまったくできないアプリが作成されます。ただし、Novaのように、マシュマロ以上を対象とした不十分なコーディングのアプリとソフトウェアは、インターネットに接続しようとするとクラッシュする可能性があります。

さらに、Firelordが指摘したように、アプリを更新すると変更が元に戻り、効果的に作業が無効になり、新たに許可を削除する必要があります。


この手順を修正する

上記の操作を逆にするには、削除した権限を他の権限に追加し、デバイスを再起動するだけです。


免責事項

Nova Launcherやその開発者とは一切関係ありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.