"Uncaught Exception: String Index Out of Range 31" su BlackBerry AT&T: Cause e Soluzioni
Questa eccezione Java significa che un'app ha provato ad accedere all'indice di carattere 31 in una stringa più corta di 32 caratteri (indici 0–31). Comune su legacy BlackBerry OS (Java ME).
Cause Tipiche
- Assunzione di indice hardcoded: Il codice si aspetta una stringa a lunghezza fissa (es. parsing SMS/USSD) ma riceve input più corto.
- Stringa null/vuota: Variabile non inizializzata o API ha restituito vuoto.
- Dati app corrotti / aggiornamento errato.
- Disallineamento OS/app dopo aggiornamento OS.
Soluzioni (in Ordine)
- Identifica l'app: La schermata di errore mostra spesso il nome del modulo (es.
net_rim_bb_messaging). Annotalo. - Aggiorna l'app: BlackBerry World (legacy) o sito del venditore. Se marchiato operatore, controlla il portale app dell'operatore.
- Elimina e reinstalla l'app.
- Cancella dati app: Opzioni → Applicazioni → [App] → Modifica Permessi → Cancella Dati (se disponibile).
- Riavvia dispositivo: Rimozione batteria (legacy) o spegni/accendi.
- Cancella dispositivo (ultima spiaggia): Opzioni → Sicurezza → Cancella Sicurezza. Backup prima (BlackBerry Desktop Software / BlackBerry Link).
- Ricarica OS: Se persistente su tutte le app, ricarica OS tramite BlackBerry Desktop Software / autoloader.
Se su BB10 / Android (Priv, serie KEY)
- Stessi passaggi tramite Impostazioni → App → [App] → Archiviazione → Cancella Cache/Dati.
- Aggiorna tramite Google Play / BlackBerry World.
- Ripristino dati di fabbrica se sistemico.
Quando Contattare il Supporto
- Errore persiste dopo wipe/ricarica.
- App di sistema core (Telefono, Messaggi, Browser) crashano.
- Il dispositivo è aziendale (BES/UEM) — contatta IT.
Il legacy BlackBerry OS è EOL. Considera la migrazione se il dispositivo è critico per la missione.