Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';t在创建的Jar中实例化usbmanager_Java_Android_Jar_Usbserial_Ftdi - Fatal编程技术网

Java Can';t在创建的Jar中实例化usbmanager

Java Can';t在创建的Jar中实例化usbmanager,java,android,jar,usbserial,ftdi,Java,Android,Jar,Usbserial,Ftdi,我试图在我创建的库中使用usbmanager 在我的图书馆里,我有: public class usb_manager extends Service{ private UsbManager myUsbManager; public usb_manager(){ myUsbManager = (UsbManager) getSystemService(Context.USB_SERVICE); } } ... } 然后我尝试在

我试图在我创建的库中使用usbmanager

在我的图书馆里,我有:

public class usb_manager extends Service{

   private UsbManager myUsbManager;

        public usb_manager(){
          myUsbManager = (UsbManager) getSystemService(Context.USB_SERVICE);
        }
   }
...
}
然后我尝试在另一个java文件中调用构造函数

public class MainActivity extends Activity {

public usb_manager testusb = new usb_manager();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

}
 ...
}
应用程序启动时崩溃

但如果我将库中的代码更改为(即,将usbmanager的初始化移动到活动):

在我项目的主要活动中:

  public class MainActivity extends Activity {


  public usb_manager testusb; = new usb_manager();
  private UsbManager myUsbManager;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

           myUsbManager = (UsbManager) getSystemService(Context.USB_SERVICE);
            testusb = new usb_manager(myUsbManager);

 }
 ...
 }
它起作用了

有人能告诉我使用的问题是什么吗 myUsbManager=(UsbManager)getSystemService(Context.USB_服务)


在库文件中。

只需
getSystemService()
在构造函数中返回
null
,因为
上下文
未初始化。在您的
usb\u管理器中覆盖
onCreate()
服务,并在那里分配
myUsbManager
。 不要在
Activity
中调用服务构造函数,而是使用
startService()


看到这个了吗

发生了什么事故?您是否为库指定了
com.android.future.usb.accessory
?在我的库中,我有
导入android.hardware.usb.UsbDevice
导入android.hardware.usb.UsbManager是。。。但也要正确地实例化服务,而不是调用它的构造函数。我忽略了构造函数调用。回答更新了。好的,我知道发生了什么,让我来做,我会在以后给你们更新,谢谢
  public class MainActivity extends Activity {


  public usb_manager testusb; = new usb_manager();
  private UsbManager myUsbManager;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

           myUsbManager = (UsbManager) getSystemService(Context.USB_SERVICE);
            testusb = new usb_manager(myUsbManager);

 }
 ...
 }