我正在尝试在我创建的库中使用 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 usb_manager extends Service{
private UsbManager myUsbManager;
public usb_manager(UsbManager in){
mUsbManager = in;
}
...
}
在我的程序的 MainActivity 中:
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_SERVICE); 有什么问题?
在库文件中。