[解決済み】カメラサービスへの接続に失敗しました。
質問内容
携帯電話のカメラにアクセスしようとしています。ウィジェットにコードを入れる前に、簡単なスタブアプリを書いています。あまりうまくいきません。コードは常にランタイム例外 "failed to connect to camera service" を投げます。うまくいかないコード(コモンズウェアの例から抜粋)は次のとおりです。
@Override
public void onResume() {
super.onResume();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
Camera.CameraInfo info = new Camera.CameraInfo();
for (int i = 0; i < Camera.getNumberOfCameras(); i++) {
Camera.getCameraInfo(i, info);
if (info.facing == Camera.CameraInfo.CAMERA_FACING_BACK) {
try {
// Gets to here OK
camera = Camera.open(i);
} catch (Exception e) {
e.printStackTrace();
// throws runtime exception :"Failed to connect to camera service"
}
}
}
}
}
で、私のマニフェストは (10月20日修正) :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.nbt.cameratest"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="9" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".CameraTestActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</application>
</manifest>
何が問題なのか、どなたかご指摘ください。
10月20日更新
SDK 4.0のLogcatは壊れており、ログの最後を表示しないので、コマンドラインのadb logcatからこの部分をできる限りカットしています。
W/ServiceManager( 2588): Permission failure: android.permission.CAMERA from uid=10136 pid=5744
E/CameraService( 2588): Permission Denial: can't use the camera pid=5744, uid=10136
W/System.err( 5744): java.lang.RuntimeException: Fail to connect to camera service
W/System.err( 5744): at android.hardware.Camera.native_setup(Native Method)
W/System.err( 5744): at android.hardware.Camera.<init>(Camera.java:294)
W/System.err( 5744): at android.hardware.Camera.open(Camera.java:255)
etc..
私はそれがマニフェストで宣言されているように私は許可を得ていない理由がわからない
どうすればいいですか?
いくつかあります。
-
なぜactivityタグの中にuse-permissionsとuse-featuresタグがあるのですか。一般的に、パーミッションは
<manifest>
タグを使用します。これが問題の一部である可能性があります。 -
アンドロイドによると カメラオープンドキュメント の場合、実行時例外がスローされます。
カメラサービスへの接続に失敗した場合(カメラが他のプロセスで使用中であったり、デバイスポリシーマネージャがカメラを無効にしている場合など)
カメラが他のものに使われていないか、ポリシーマネージャーでカメラがオフになるような設定がされていないか、確認してみましたか?
-
を忘れないでください。
<uses-feature android:name="android.hardware.camera.autofocus" />
はオートフォーカスのためのものです。
これらのうち、どれが直接的に役立つかどうかはわかりませんが、単純に除外するためという理由だけであれば、調査する価値はあると思います。もしあなたが望むなら、デューデリジェンス。
EDIT
下のコメントにもあるように、解決策として
uses-permissions
をapplicationタグの上まで上げています。
関連
-
[解決済み】Android TextView : "setTextで表示されたテキストを連結しない" について
-
[解決済み】com.android.ide.common.process.ProcessException: aaptの実行に失敗しました! どうすればいいですか?
-
[解決済み】Android Studioの初回起動。Android SDKアドオンリストにアクセスできない
-
[解決済み】apkインストール時のINSTALL_FAILED_NO_MATCHING_ABIS
-
[解決済み】Android Studioです。「プロジェクトが C ドライブに作成されている場合、「タスク ':app:mergeDebugResources' の実行に失敗しました。
-
[解決済み】新しいAVDを作成すると、CPU/ABIフィールドに「システムイメージがインストールされていません」と表示される。
-
[解決済み】フラグメントMyFragmentがアクティビティにアタッチされない。
-
[解決済み] 起動アクティビティを特定できませんでした。デフォルトのアクティビティが見つかりませんでした
-
[解決済み] Android Fragment no view found for ID?
-
[解決済み] setBackgroundDrawable() 非推奨
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Android Studioでパラメータ化されたユニットテストを実行すると、指定されたインクルードに対するテストが見つからないエラーが発生する
-
[解決済み】java.lang.RuntimeException: アクティビティを開始できない ComponentInfo
-
[解決済み】Android Studioの初回起動。Android SDKアドオンリストにアクセスできない
-
[解決済み】レンダリングの問題 レンダリング中に発生した例外:com/android/util/PropertiesMap [重複].
-
[解決済み】android.content.ActivityNotFoundException: 明示的なアクティビティクラスを見つけることができません。
-
[解決済み] AndroidのADBデバイスが不正に
-
[解決済み] SDKの場所がandroid studioで見つからない
-
[解決済み] android.support.design.widget.FloatingActionButton クラスの展開に失敗しました。
-
[解決済み] Androidでイメージビューの背景を透明に設定する
-
[解決済み] ADBエラー:デーモンに接続できない