广播接收器android> = 2.2 CAMERA_BUTTON

问题描述

| 我的broadcastReceiver有问题。它不起作用。对于我的问题,我找不到任何令人满意的答案。这是我的代码片段:
    <receiver 
        android:name=\".CameraReceiver\" 
        android:enabled=\"true\">
        <intent-filter>
            <action android:name=\"android.intent.action.CAMERA_BUTTON\" />
        </intent-filter>
    </receiver>

@Override
public void onReceive(Context context,Intent intent) {     
    Toast.makeText(context,\"It\'s working!\",Toast.LENGTH_LONG).show();
}
我尝试了一些我在互联网上找到的建议,然后添加了以下内容
    <intent-filter android:priority=\"100000\">
依此类推,仍然没有任何效果。 当我将android.intent.action.CAMERA_BUTTON更改为其他任何内容并执行此操作(例如android.net.wifi.WIFI_STATE_CHANGED)时,总会出现一个Toast“正在运行”。但是当我使用android.intent.action.CAMERA_BUTTON拍照时却没有。我不知道发生了什么。 有什么建议么?我使用Android模拟器2.2和2.3.3。     

解决方法

        我是该教程和补丁的作者,用于在模拟器上启用“相机”按钮。最新版本的仿真器确实支持照相机按钮,因为它们将我的补丁合并到了代码库中。但是,出于无法理解的原因,他们没有合并用于更新外观的补丁,因此第一个补丁没有用。如我的教程中所述,您需要确保您的皮肤支持相机按钮。 另外,我解决了这个问题,因为我想测试您也在尝试测试的内容。我的AndroidManifest.xml有一个像您一样的接收器部分,但是我在
<activity>
中也有一个意图过滤器部分,用于接收意图:
<intent-filter>
    <action android:name=\"android.media.action.STILL_IMAGE_CAMERA\" />
    <category android:name=\"android.intent.category.DEFAULT\" />
</intent-filter>
    ,        如此处所述,将ѭ4加到您的意图过滤器中。     ,        我认为相机按钮在模拟器中不起作用。 您是否有可以试用应用程序的硬件设备? 这是相关的错误报告: http://code.google.com/p/android/issues/detail?id=8197 如果您想弄乱仿真器源代码,可以在这里尝试以下说明: http://soledadpenades.com/2011/02/20/enabling-the-camera-button-in-androids-emulator/