2016-10-03 7 views
4

私の悪い英語を申し訳ありません。複数のアクティビティがあるときに実行時アクセス許可を集中する方法

私はアプリに複数Activityを持っていますが、私はランタイムアプリの許可を集中管理する必要があります。

BaseActivityを使用する必要がありますか?

はいの場合は、アプリ内に多数のActivityがある場合の対処方法を教えてください。

いいえの場合は、より適切な対応方法をお勧めします。

私はコードの冗長性を減らしたいと思います。 Activityと同じコードを何度も繰り返し書くことに興味はありません。

私は否定的なシナリオを探していますが、ユーザーが許可を拒否したため、許可を求めるように依頼するのではなく、合理的である必要があります。そして、私はメッセージを提供するために、持っているか、私はUI

+0

私は、ユーザーが許可を拒否し、許可を求めるように依頼するのではなく、合理的である必要があるという否定的なシナリオを探しています。それに基づいて私はメッセージを提供する必要がありますかUIを更新する必要があります – Mubarak

答えて

-2

実行時許可が理想的にはあなたが許可を使用するたびにチェックする必要があります

危険なリソースを制御を持つように導入された更新する必要があることに基づいて、リソース。このコードを削除してはいけません。

次に、許可を要求するときは、1行のコードです。私はあなたがこれに問題を抱えているとは思わない。

今や難しい部分があります。与えられたパーミッションの処理あなたは間違いなく基本クラス(推奨されていません)を持つことができますが、理想的には異なる許可が異なる目的のために使用されます。

例:location権限:
同じアクティビティでLocation.javaを使用すると、LatLon値を使用するユーザーの住所を取得するための場所のアクセス許可が必要な場合があります。また、同じアクティビティで、ユーザーのライブ追跡に場所のアクセス許可を使用しています。

同じアクセス許可で異なる実装を処理するには、目的に基づいて一意のアクセス許可コードを設定する必要がありますが、アクセス権を設定しているリソースには基づいていません。これらすべてのものを基本クラスで扱うのは難しいことがあります。理想的には、それが属しているアクティビティのパーミッションを処理する必要があります。コードを安全に保ち、他のコードとのミックスアップを防止します。

いつもofficial docsを読むことをお勧めします。

コードと複数の実装の冗長性と混同されることがあります。そのために、Androidはコードの最後をプログラマーとして扱い、危険なリソースが使用されている場所ではパーミッションをチェックし、適切な操作を実行することはほとんどありません。

+0

だから、あなたはコードの重複を好むべきですか?場所が必要な10のアクティビティがある場合は、10のアクティビティすべてで同じコードを記述する必要がありますか? –

+0

私は、ユーザーが許可を拒否し、許可を求めるように依頼するのではなく、合理的でなければならないという否定的なシナリオを探しています。それに基づいてメッセージを提供する必要があるか、UIを更新する必要があります。 – Mubarak

+0

@LalitPoptaniでは、同様のコードに対して重複コードと複数実装の間に違いがあります。アクセス権の問い合わせは、API 23+ –

-2

あなたには10のアクティビティがあり、そのすべてにロケーション権限が必要な場合は、あなたのアプリケーションには非常に重要な権限があると思います。

重要な権限の場合、ユーザーが許可していない場合、アプリケーションを終了することができます。したがって、最初のアクティビティ自体で行うことができます。 facebookのように、さまざまな許可があります。ユーザーにとっては悪い経験かもしれませんが、アプリケーションに必要な権限です。

ユーザーが許可していない場合は、最初のアクティビティで1回だけ書き込み、アプリケーションを停止してください。旗艦アプリケーションの多くはそれを行います。

+0

実際には。いいえ!ユーザーが以前に権限を付与した後に権限を拒否し、ユーザーが権限を受け入れるかどうかを確認も入力も促さないアクティビティを開くと、何が起こりますか? –

+0

私は最初のアクティビティ(最初に開くことを意味します)を明示しました。これは、与えられた場合はアクセス許可をチェックし、そうでない場合はアプリケーションを閉じます。 –

+0

例として、場所の許可を必要とするFacebookアプリを使用できるようにします。あなたはアイコンをクリックし、最初の画面で許可を受け入れます。後で、あなたはそれを取り消す。次に、アプリ自体ではなくプロンプトを開くだけのサードパーティーのアプリからFacebookと何かを共有します。そこでは、あなたが取り消した許可を必要とする「位置ピン」アイコンをクリックします。それは何ですか? –

関連する問題