この権限をAndroidマニフェストに追加したい:
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
しかし、この許可をマニフェストに貼り付けると、赤い下線がテストされ、次のように表示されます。
権限はシステムアプリにのみ付与されます
私に何ができる?
この権限をAndroidマニフェストに追加したい:
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
しかし、この許可をマニフェストに貼り付けると、赤い下線がテストされ、次のように表示されます。
権限はシステムアプリにのみ付与されます
私に何ができる?
MODIFY_PHONE_STATE
権限はシステムアプリにのみ付与されます。
参考までに、Androidアプリにはシステムとユーザーの2種類があります
ユーザーアプリは、Google Playストア、Amazon Appstore、またはサイドローディングを介した通常のアプリのインストールです。これらはAndroidスマートフォンの/dataパーティションに入ります。これは、ユーザーデータとアプリで利用できるようになった内部メモリの一部です。
システムアプリは基本的に、ROMにプリインストールされているアプリです。標準のAndroidユーザー環境では、ユーザーは/ systemパーティションへの書き込みアクセス権を持っていないため、システムアプリを直接インストールまたはアンインストールすることはできません。
アプリをシステムアプリとしてAndroidデバイスにインストールするには 、デバイスをルート化するか、カスタムリカバリをインストールする(またはその両方)必要があります。
そうは言っても、有効なコードがあり、コンパイルが機能するはずなので、そのエラーは実際には間違っています。代わりに警告を出したほうがいいでしょう。Eclipseでは簡単に修正できます。ただ行く:
ウィンドウ->設定->Android->リントエラーチェック。
リストから検索ProtectedPermission
し、重大度をエラー以外の値に設定します(たとえば、情報)。このようにして、プロジェクトは引き続きコンパイルされます。
MODIFY_PHONE_STATE
システムのみの権限です。システムアプリは、システムフォルダーにプリインストールされているか、セキュリティ証明書を使用してメーカーによってコンパイルされています。
したがって、これを実行しようとしている場合は、サポートされなくなったAPIを使用しようとしています。Androidバージョン2.3以降では、着信を監視できますが、ブロックは許可されていません(投稿したリンクから、あなたがやろうとしていることだと思います)。
フォローする必要がある場合のAndroidの問題:Issue15022およびIssue14789
このエラーは、マニフェストを変更すると、SDK19以降で表示されます。プロジェクトのクリーンアップとビルドを実行します。このエラーをクリアする必要があります。
プロジェクトをクリーンアップするだけで、次のようになります。
プロジェクト>クリーン...
これはシステムレベルの権限であるため、デバイス開発者はこれを許可しないため、アプリケーション開発ツールもこれに対して警告を発するため、次のことを行う必要があります。
プロジェクトをクリーンアップして再構築するだけです。
許可には4つのタイプがあります
Regular
Dangerous
Signed
Signed or System
The first two can be used by Simple Apps
他の2つは、フレームワークに組み込まれているアプリでのみ使用できます
のリストからProtectedPermissionを見つけます
Window -> Preferences -> Android -> Lint Error Checking.
重大度をエラー以外に設定します(たとえば、情報)。このようにして、プロジェクトは引き続きコンパイルされます。