0

アクション ACTION_NEW_PICTURE を受信するブロードキャスト レシーバを持つアプリがあります。この受信機は、htc および samsung カメラ UI を備えたものを除くほとんどのデバイスで正常に動作します。

これが私の受信機です:

BroadcastReceiver receiver = new BroadcastReceiver() {

        @Override
        public void onReceive(Context context, Intent intent) {
            // TODO Auto-generated method stub
            // Log.e(TAG, "Intent Received");
            // Toast.makeText(Helper.this, "Intent Received",
            // Toast.LENGTH_SHORT).show();
            if (intent.getAction() == android.hardware.Camera.ACTION_NEW_PICTURE) {
                NameEditor.mediaType = "image";
            } else {
                if (intent.getAction() == android.hardware.Camera.ACTION_NEW_VIDEO) {
                    NameEditor.mediaType = "video";
                }
            }
 NameEditor.pictureUri = intent.getData();
            startActivity(dIntent);
        }
    };

    filter = new IntentFilter(android.hardware.Camera.ACTION_NEW_PICTURE);
    filter.addAction(android.hardware.Camera.ACTION_NEW_VIDEO);
    try {
        filter.addDataType("image/*");
        filter.addDataType("video/*");
    } catch (MalformedMimeTypeException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
    registerReceiver(receiver, filter);

誰かがこれで私を助けることができますか?

4

1 に答える 1

0

まず、そのブロードキャストは API レベル 14 の新機能であるため、問題のデバイスが Android 4.0 を実行していない限り、そのブロードキャストは想定されていません。

第二に、知る限り、カメラ アプリがデバイス メーカーまたは Play ストア以外のサード パーティによって提供されているかどうかにかかわらず、カメラ アプリがそのブロードキャストを送信する必要はありません。確かに、そのブロードキャストを送信しないカメラ アプリを作成できます。したがって、私はACTION_NEW_PICTUREあなたのアプリが日和見的に使用すべきものであると考えますが、依存するべきではありません.

于 2012-12-17T00:42:42.423 に答える