问题描述
|
我的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/