java获取前台按钮状态,永远不会调用ACTION_CAMERA_BUTTON的广播接收器

我在Android中有一个应用程序,我想在相机的物理硬件按钮被按下时拍照 . 我注册了这种动作的意图,但我的广播接收器永远不会被调用 .

我是这样做的:

扩展的类 BroadcastReceiver

public class Adisor extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

if (intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT) != null) {

// prevent the camera app from opening

abortBroadcast();

System.out.println("HEY");

mCamera.takePicture(null, mPictureCallback, mPictureCallback);

}

}

}

这是我注册接收器以监听操作的地方:

protected void onResume() {

Log.e(TAG, "onResume");

super.onResume();

drb = new Adisor();

IntentFilter i = new IntentFilter(

"android.intent.action.CAMERA_BUTTON"

);

registerReceiver(drb, i);

}

在我的清单文件中,我有这个:

我正在做的所有活动的名称是: TakePhoto . 我的问题是为什么我的 onReceive() 方法永远不会被调用!

这不是:

System.out.println("HEY");

出现在我的logcat或方法中

System.out.println("HEY");

mCamera.takePicture(null, mPictureCallbacmPictureCallback);

被叫!我做错了什么?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值