"No se puede realizar esta acción en una instancia no sellada" excepción java.lang.IllegalStateException

Con Android AccessibilityService capaz de pegar en otra aplicación EditText campo, pero con el navegador testfields (Emulador de Navegador por defecto o Samsung Deault Browser) no funciona, lanzando error:

No se puede realizar esta acción en una instancia no sellada.

En el navegador de cromo Android con algunos singnup textfield su funcionamiento, pero no para todos los campos de texto.

  @Override public void onAccessibilityEvent(AccessibilityEvent event) { AccessibilityNodeInfo source = event.getSource(); if (source != null && ( event.getEventType() == AccessibilityEvent.TYPE_VIEW_FOCUSED ) ) { // || event.getEventType() == AccessibilityEvent.TYPE_VIEW_CLICKED ) && //event.getClassName().equals("android.widget.EditText") //) { ctx = getApplicationContext(); ClipboardManager clipboard = (ClipboardManager) ctx.getSystemService(Context.CLIPBOARD_SERVICE); ClipData clip = ClipData.newPlainText("label", "XYZ"); clipboard.setPrimaryClip(clip); source.performAction(AccessibilityNodeInfo.ACTION_PASTE); //Not Working, always return false. //Tried with other options Bundle argumentsTest = new Bundle(); argumentsTest.putCharSequence(AccessibilityNodeInfo.ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE, "Bundle Test Data"); source.performAction(AccessibilityNodeInfo.ACTION_SET_TEXT,argumentsTest ) // Not Working, throw java.lang.IllegalStateException exception //Message: "Cannot perform this action on a not sealed instance" } } 

One Solution collect form web for “"No se puede realizar esta acción en una instancia no sellada" excepción java.lang.IllegalStateException”

No creo que estés tratando de hacer lo que crees que estás tratando de hacer.

Cuando se establece el "texto" de un accessibilityNodeInfo, lo que se canta es la propiedad de texto de ese objeto, ya que se refiere a su servicio de accesibilidad. Esto no significa, que está cambiando el texto del cuadro EditText, que hace referencia el objeto accessibilityNodeInfo. En el momento en que su servicio de accesibilidad obtiene este objeto, los dos objetos están bastante separados entre sí. Incluso si su código se ejecutara correctamente, no estaría obteniendo los resultados que está esperando. Ahora, en cuanto a por qué usted no puede realizar esta acción, sabiendo esto debe ser obvio. Para que un servicio de accesibilidad pueda modificar los nodos que tiene, realmente no tiene sentido. Así que se convierten en sellados (pensar en esto como una ejecución en tiempo de ejecución de una constante). Los nodos de accesibilidad quedan sellados y sin sellar en varios puntos de su vida. Las partes del marco que tienen acceso a información de nodo no sellado son clases de vista y APIs privadas. Todas las tareas relacionadas con el servicio de accesibilidad van a tratar con instancias selladas y de sólo lectura.

En cuanto a por qué su solución original no funciona, creo que no tenemos suficiente información. El enfoque "ACTION_PASTE" es (aproximadamente) el enfoque correcto, SIN EMBARGO, hay una abundancia de problemas al hacerlo con los navegadores web. Versión de navegador, versión de Android, versión de dispositivo, sitio web, etc todos juegan un papel. Especialmente si su configuración es lo suficientemente antigua como para no usar el nuevo WebView (webview de cromo puro), en lugar del antiguo 4. + enfoque de extrañas WebViews móviles incrustadas basadas en versiones obsoletas de WebKit, que ahora nunca se actualizarán. Recomiendo probar su código en un dispositivo Nexus actualizado, utilizando por lo menos Android 5.0 y ver si su código funciona. Si no puede hacerlo, informe la información de la versión de su configuración. Si ya lo está, ¿en qué sitio web?

  • Android ¿cómo espero hasta que un servicio esté realmente conectado?
  • Servicio de ejecución en el fondo?
  • Animar ImageView dentro de WindowManager en un servicio de Android
  • NotificationManager.cancel () no funciona para mí
  • Android Polling regular de GPS en servicio, maximizando la duración de la batería
  • Android: uso de la red en un servicio
  • MVC en Android: ¿Aplicación o servicio para actualizaciones asíncronas?
  • La llamada de servicio vuelve a la actividad en android
  • ¿Puede Android ServiceTestCase <MyService> enviar mensajes a mi servicio?
  • Cómo enlazar una actividad a un servicio y controlar y administrar el servicio desde la actividad
  • Servicio de Android y tareas repetitivas que se ejecutan en subprocesos
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.