6

私は広範なテストを行っていませんが、アプリケーションマニフェストの android.permission.ACCESS_MOCK_LOCATION が想定どおりに機能しないという証拠があります (つまり、存在する場合はモックロケーションプロバイダーを許可し、そうでない場合は許可しません)。したがって、 https://play.google.com/store/apps/details? id=com.lexa.fakegpsのような偽の GPS アプリケーションは、ACCESS_MOCK_LOCATION が設定されているかどうかに関係なく、どのアプリケーションでも動作します。ユーザーがデバイス設定で偽の場所を許可すれば十分なようです。

ACCESS_MOCK_LOCATION は、アプリケーション自体がモック ロケーション プロバイダになることを意味するのでしょうか? その場合は、名前が示すようにアクセス (読み取り) ではなく、WRITE_MOCK_LOCATION のように読み取る必要があります。機能というよりはバグのように聞こえます。これが本当なら、GPS の位置が偽物ではなく本物であることを本当に保証する方法はありませんか?

4

4 に答える 4

4

誰もあなたの質問に実際に答えていないので、私は答えを提供します:

ACCESS_MOCK_LOCATION は、アプリケーション自体がモック ロケーション プロバイダになることを意味するのでしょうか?

はい。この許可により、アプリは「モックロケーション」開発者機能に「アクセス」できます。これにより、開発者は実際にデバイスを物理的に動かしたり変更したり (偽の GPS を配線するなど) することなく、位置情報に基づく機能を持つアプリを開発/テストするために、実際にあるように見える偽の位置情報を作成できます。

Google は、ユーザーがどのアプリをテストしたいか、偽のデータをどのように提供したいかを知らないため、このようにしました。開発者向けの機能として、この機能を一般ユーザーに公開する機会を減らします。

于 2016-08-13T01:05:29.060 に答える
2

Android 4.2.1 では、まず [開発者モード] を使用する必要があります。これは、Settings [-> About Tablet] (下部の近く。おそらく電話の場合と同様の名前) に移動Build numberし、下部を 7 回タップします。タップを開始するとカウントダウンが表示され、開発者になるためにあとどれくらい必要かがわかります。

戻るボタンを押して に戻るとSettings、前の [Developer optionsバージョン情報] メニューの上に項目が表示されます。それをクリックして、 のAllow mock locations下を確認しDEBUGGINGます。お使いのデバイスは を適切に尊重するはずACCESS_MOCK_LOCATIONです。

(これを行う動機が、Ingress をだましてポータルの近くにいると信じ込ませることである場合は、運が悪いです。もちろん、どのアプリでも、この設定が有効になっていることを検出して、無効にするように指示することができます。せいぜいXMの供給を補充するために使用できます. :-)

于 2013-02-04T05:19:01.423 に答える
1

その特定の権限の MockLocation lint チェックを無効にします。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
    <uses-permission
        android:name="android.permission.ACCESS_MOCK_LOCATION"
        tools:ignore="MockLocation" />  
</manifest>
于 2016-07-26T22:25:31.490 に答える