1

何かについてお聞きしたいです。通常の SDK アプリケーションを介して GPS をオンにする可能性がないことに気付きました。私の問題は、ユーザーの確認なしでそれを行う必要があることです (私のアプリケーションの基本はサイレントに動作することです)。私のアプリケーションは、会社がデバイス (タブレット) を追跡するために使用することを意図しているため、必要です。GPS をオンにして位置情報を取得し、その後オフにする必要があります。つまり、ユーザーに GPS をオンにするように促した場合、ユーザーはオンにしない可能性があり、アプリケーション (実際にはサービス) は適切に動作しません。

私の次のステップは、代替ソリューションを見つけることです。つまり、設定を使用して GPS をオンにすると、最終的にコア アプリケーション/サービスによってオンになります。私の推測では、ネイティブ コードを使用して GPS デバイスにアクセスし、オンにします (間違っている場合は、訂正して正しい答えを指摘してください)。

したがって、私の質問は、可能であれば、NDKでそれを行う方法と、後でアプリケーションと統合する方法です。NDK で処理できない場合、どのように処理できますか? 最終的には設定で行われるため、方法があるはずです。

また、インターネット接続についても同じ質問をしたいと思います (代わりに、ネットワーク プロバイダーを使用して場所を取得するため)。

貢献してくれてありがとう!

4

2 に答える 2

0

「設定」はそもそもアプリではありません。

したがって、すでにアプリケーションを作成している場合は、Android アプリケーションの基本を何とか理解しているはずですが、それらを本当に理解していない場合は、アプリケーションは通常「サンドボックス」で実行され、これらのアプリケーションは破棄/終了される可能性があると言いたいです。システムが必要と判断した場合。「サイレントモード」もありません。デバイスに Android OS がインストールされている場合、ユーザーはアクセス許可を受け入れる/拒否する必要があり、ユーザーは自分のデバイスを制御する必要があります。もちろん、それを回避する方法があり、それらの方法は次のようなものです。

  1. すべてのデバイスにGoogle Playで1つの中央アカウントを持たせ、紛失した場合にデバイスを消去/破壊するサービスをアクティブにします(あなたが言及したので設定で...管理者アカウントの下で見つけることができます)そして物事をそのままそこに残します一日の終わりに必要なのはそれだけだからです。
  2. (1 を有効にする必要があります) すべての会社のデバイスを作成する必要があります (そのような看守になりたいが、その道を行くと、従業員はあなたをあまり良い雇用主とは見なさない場合)、ソフトウェアとすべてのデバイスを実行する必要があります。ネットワークへのアクセスが必要な単一のものは、独自のカスタム暗号化チャネル (パブリック暗号化なし) で実行され、管理者アカウントを使用すると、ユーザーがデバイスにインストールできるものを制御でき、その唯一のアプリケーションを制限できます。上記のアプリケーションです。次に、アプリケーションのサブアプリケーションとして従業員が必要とするすべてのものを作成します;) さらに、GPS 信号がある場合にのみこれらのアプリケーションを実行できるようにします (したがって、従業員がチューブに入った場合...
  3. 良い雇用主になり、あなたが彼らに与えたデバイスで好きなことをさせてください。信頼を与えれば、彼らが行っている仕事に喜びを感じることができますが、人々を投獄すれば、否定的な感情と悪いパフォーマンスを得ることができます (最終的には、人々がより良い雇用主に移るという方向に向かうことさえあります)。

私があなたの立場なら、3つすべてから3番目のオプションを選ぶでしょう. 技術的な課題から言えば、#2 は、実装できる唯一の方法であり、非常に興味深いアーキテクチャであると思います...長い時間をかけて...これに投資した労力が 2 時間の価値があることを確認する必要もあります雇用主は自宅で子供と一緒に怒った鳥を演奏します ;) それでも、現実世界のアプリケーションよりも挑戦したい場合は、Android オペレーティング システムをあらゆる観点から学ぶ絶好の機会です。ここではNDKが役立つかもしれませんが、あなたが望む方法ではありません...さらにカスタム暗号化などに沿って.

編集: ねじれた論理と表現方法で申し訳ありませんが、かなり遅く、非常に長い 1 日でした。

于 2013-11-07T00:18:54.573 に答える
0

NDK/JNI 呼び出しで GPS を処理する方法が見つかるかもしれませんが、Android デバイスのユーザーに通知せずに GPS のようなものはありません。彼は GPS をオフにすることも、オンにすることを拒否することもできます。そのような場合、そのデバイス自体 (ハードウェア) が GPS センサーをオフにします。

可能なことは、他の方法を使用してデバイスを見つけることです。

  • Wifi は GPS ほど正確ではありませんが、何よりも優れた位置情報を提供します
  • キャリアは、アンテナに到達する信号強度に従ってデバイスの位置を追跡します。しかし、私はそれを処理できるAndroidインターフェースを見たことがありません(誰かがその情報を取得する方法を知っているなら、ここで尋ねる質問かもしれません)
  • 私があなたの問題を処理する方法は、組織側にあります (これは社内の問題であるため): あなたは基本的にユーザーに次のように言います: 「GPS をオンにすると、ユーザーはメールにアクセスできます」例) 何かを与えると、何かが返ってきます :-)
于 2013-09-22T12:28:39.543 に答える