首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >意图筛选器不为onReceive调用USB_ACCESSORY_ATTACHED

意图筛选器不为onReceive调用USB_ACCESSORY_ATTACHED
EN

Stack Overflow用户
提问于 2013-11-04 15:12:36
回答 1查看 2.6K关注 0票数 3

我在USB_ACCESSORY_ATTACHED的构造函数中声明了MyDialogFragment的意图过滤器,并在片段的onResumeonPause方法中注册/注销了它。MyReceiver在内部类中扩展BroadcastReceiver以接收USB_ACCESSORY_ATTACHED意图。见以下代码:

代码语言:javascript
复制
public class MyDialogFragment extends DialogFragment {

     private Context context;
     private IntentFilter usbIntentFilter;
     private MyReceiver myReceiver;

     MyDialogFragment(Context context) {
        usbIntentFilter = new IntentFilter(UsbManager.ACTION_USB_ACCESSORY_ATTACHED);
        myReceiver = new myReceiver();
        this.context = context;
     }


     @Override
     public void onResume() {
          super.onResume();

          // Register broadcast receiver
         context.registerReceiver(myReceiver, usbIntentFilter);
     }

     @Override
     public void onPause() {
          super.onPause();

          // Unregister broadcast receiver
          context.unregisterReceiver(myReceiver);
     }

     class MyReceiver extends BroadcastReceiver {

        @Override
        public void onReceive(Context context, Intent intent) {

            Log.d("MyApp","Called USB receiver");

        }
     }
}

但是,当我附加一个onReceive附件时,MyReceiverMyReceiver方法就不会被调用。此外,当我改变意图时

代码语言:javascript
复制
usbIntentFilter = new IntentFilter(UsbManager.ACTION_USB_ACCESSORY_DETACHED);

onReceive方法MyReceiver确实会被调用。所以我的问题是:为什么当我分离附件的时候,它会工作,而当我附加附件的时候,它却不起作用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-04 18:47:13

因此,USB_ACESSORY_ATTACHED意图似乎从未真正深入到该活动中,请参见这样的问题:

ATTACHED

您必须使用由onResume间接调用的USB_ACCESSORY_ATTACHED方法。我不得不说,这在Android文档中是不清楚的,我怀疑它的实现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19770788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档