IMEを実装しているAndroidアプリケーションで作業中にEclipseワークスペースログに表示されるエラーを理解して解決しようとしています。私はAndroidとEclipseの初心者です。Android - サポートされていないサービス:音声
エラーは、「com.utterkaos.keyboard.LatinKeyboardViewはインスタンス化できませんでした」です。
関連するスタックトレースは次のとおりです。
java.lang.UnsupportedOperationExceptionが:サポートされていないサービス: com.android.layoutlib.bridge.android.BridgeContext.getSystemService(BridgeContext.java:434) でオーディオ android.inputmethodservice.KeyboardView。(KeyboardView.java:376) で でandroid.inputmethodservice.KeyboardView。(KeyboardView.java:279) com.utterkaos.keyboard.LatinKeyboardViewで。(LatinKeyboardView.java:30) 太陽の下でjava.lang.reflect.Constructor.newInstanceでsun.reflect.DelegatingConstructorAccessorImpl.newInstance(不明 出典)で sun.reflect.NativeConstructorAccessorImpl.newInstance(不明なソース) で.reflect.NativeConstructorAccessorImpl.newInstance0(ネイティブ 方法)(不明出所) com.android.ide.eclipse.adt.internal.editors.layoutで com.android.ide.eclipse.adt.internal.editors.layout.ProjectCallback.instantiateClass(ProjectCallback.java:402) で 。 ProjectCallback.loadView(ProjectCallback.java:166) at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:207) at android.view.BridgeInflater.createViewF (LayoutInflater.java:376)android.view.LayoutInflater.inflate(LayoutInflater.java:466) でromTag(BridgeInflater.java:135) android.view.LayoutInflater.inflate(LayoutInflater.java:372) com.android.layoutlib.bridgeにあります。 .RenderSessionImpl.inflate(RenderSessionImpl.java:321) at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:324) at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary .java:325) at com.android.ide.eclipse.adt.internal.editors.layout.gle2.RenderService.createRenderSession(RenderService.java:372) at com.android.ide.eclipse.adt.internal .editors.layout.gle2.GraphicalEditorPart.renderWithBridge(GraphicalEditorPart.java:1361) at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.recomputeLayout(GraphicalEditorPart.java:1115) at com.android.ide.eclipse.adt.internal.editors.layout。 com.android.ideでgle2.GraphicalEditorPart.activated(GraphicalEditorPart.java:941) でcom.android.ide.eclipse.adt.internal.editors.layout.LayoutEditorDelegate.delegatePageChange(LayoutEditorDelegate.java:450) 。 org.eclipse.uiで org.eclipse.ui.part.MultiPageEditorPart.setActivePage(MultiPageEditorPart.java:1067) でeclipse.adt.internal.editors.common.CommonXmlEditor.pageChange(CommonXmlEditor.java:358) 。 forms.editor.FormEditor.setActivePage(フォーム com.android.ide.eclipse.adt.internal.editors.AndroidXmlEditor.selectDefaultPage(AndroidXmlEditor.java:380) com.android.ide.eclipse.adt.internal.editorsで でEditor.java:607) 。 AndroidXmlEditor.addPages(AndroidXmlEditor.java:285) ( )com.android.ide.eclipse.adt.internal.editors.common.CommonXmlEditor。 org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.javaで org.eclipse.ui.forms.editor.FormEditor.createPages(FormEditor.java:138) でaddPages(CommonXmlEditor.java:283) 。 348) でorg.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465) org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:670) でorg.eclipseで.inf。 org.eclipse.ui.internal.WorkbenchPageで(WorkbenchPage.java:2945) でorg.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2850) clipse.ui.internal.WorkbenchPage.busyOpenEditorBatched。アクセス$ 11の(WorkbenchPage.java:2842) org.eclipse.swt.custom.BusyIndicator.showWhileで org.eclipse.ui.internal.WorkbenchPage $ 10.run(WorkbenchPage.java:2793) (BusyIndicator.javaで: 70) org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2789) でorg.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2773) でorg.eで(IDE.java:651) org.eclipse.ui.ide.IDE.openEditor() org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditorで org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:355) でIDE.java:610)(EditorUtility .java:164) at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:249)at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:228)at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:275) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java: 251) org.eclipse.jdt.internal.ui.packageview.PackageExplorerActionGroup.handleOpen(PackageExplorerActionGroup.java:376で ) でorg.eclipse.jdt.internal.ui.packageview.PackageExplorerPart 4.open $(PackageExplorerPart.java :ORGで org.eclipse.jface.viewers.StructuredViewer $ 2.run(StructuredViewer.java:866) で org.eclipse.ui.OpenAndLinkWithEditorHelper $ InternalListener.open(OpenAndLinkWithEditorHelper.java:48) で538) 。 eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)at org.eclipse.ui.internal.JFaceUtil $ 1.run(JFaceUtil.java:49)at org.eclipse.jface.util.SafeRunnable.run (SafeRunnable.java:175)at org.eclips e.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:864) でorg.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1152) org.eclipse.jface.viewers.StructuredViewer $ 6位の.handleOpen(StructuredViewer.java:1256) でorg.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:275) OpenStrategy.java(2 org.eclipse.jface.util.OpenStrategy.access $ で: org.eclipse.jface.util.OpenStrategy $ 1.handleEvent(OpenStrategy.java:309) atorg.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse。 swt.widgets.Widget.sendEvent(ウィジェット。Javaの:1053) org.eclipseでorg.eclipse.swt.widgets.Display.readAndDispatchで org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165) (Display.java:3754) で.ui.internal.Workbench.runEventLoop(Workbench.java:2701) (org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)) org.eclipse.ui.internal.Workbench.access $ 4 Workbench.java:2499)at org.eclipse.ui.internal.Workbench $ 7.run(Workbench.java:679)at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668) at org.eclipse.ui.PlatformUI.crea でteAndRunWorkbench(PlatformUI.java:149) org.eclipse.equinox.internal.app.EclipseAppHandle.runでorg.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123) ( org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.startで org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) でEclipseAppHandle.java:196) ( EclipseAppLauncher.java:79) でorg.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344) org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.javaで: 179) java.lang.reflect.Method.invoke(で sun.reflect.DelegatingMethodAccessorImpl.invoke(不明なソース)で sun.reflect.NativeMethodAccessorImpl.invoke(不明なソース)でsun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)で、不明なソース) org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)at org.eclipse.equinox org.eclipse.equinox.launcher.Main.main(Main.java:1386)
で.launcher.Main.run(Main.java:1410)LatinKeyboardView.javaの要部である:
public class LatinKeyboardView extends KeyboardView {
static final int KEYCODE_OPTIONS = -100;
public LatinKeyboardView(Context context, AttributeSet attrs) {
super(context, attrs);
}
行30は「super(context、attrs);」です。 KeyboardView.java、ライン376を見てみると
:ここ
mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
"Context.AUDIO_SERVICEは、" エラーのスタックトレースに表示される文字列 "オーディオ"、のように見えます。
BridgeContext.javaの関連ビットは次のとおりです。
public Object getSystemService(String service) {
414 if (LAYOUT_INFLATER_SERVICE.equals(service)) {
415 return mBridgeInflater;
416 }
417
418 if (TEXT_SERVICES_MANAGER_SERVICE.equals(service)) {
419 // we need to return a valid service to avoid NPE
420 return TextServicesManager.getInstance();
421 }
422
423 // AutoCompleteTextView and MultiAutoCompleteTextView want a window
424 // service. We don't have any but it's not worth an exception.
425 if (WINDOW_SERVICE.equals(service)) {
426 return null;
427 }
428
429 // needed by SearchView
430 if (INPUT_METHOD_SERVICE.equals(service)) {
431 return null;
432 }
433
434 throw new UnsupportedOperationException("Unsupported Service: " + service);
435 }
私は特にこのルーチンで不可解見つける私はそれが今まで「オーディオ」サービス、まだBridgeContext.javaを扱うことができる方法を見ていないということですとKeyboardView.javaは両方とも私が間違って書いたクラスではなく、Androidコードの一部です。
このエラーがなぜ発生しているのか、それを回避する方法を理解していただきたいと思っています。
私は同じ問題に直面しています。この問題を解決した場合はお知らせください。ここに私の質問です。 [http://stackoverflow.com/questions/13884677/android-custom-keyboard-the-following-classes-could-not-be-instantiated] –