Así que estoy desarrollando para un par de dispositivos y básicamente necesito hacer una verificación para determinar el dispositivo. Por ejemplo
// Android being js interface if(Android) return setupAndroid() else if(exampleDevice) return method() etcSi has hecho esto antes, conoces mi problema. Si abre esta aplicación en un navegador que no está en Android, se bloqueará porque Android no existe. Tengo que hacerlo de esta manera y desde que comencé no quiero parar hasta encontrar una manera de manejar esto. Intenté crear una interfaz ts y no funcionó. Necesito una forma de decir que esta interfaz de Android solo existe en la capa de Android. Entonces, este tipo de verificación se realizará para todos los dispositivos. No importa el número de dispositivos. Lo que importa es cómo evitar errores de variables no existentes.
Supongo que está exponiendo una interfaz específica de Android a través de WebView.addJavascriptInterface , pero en lo que respecta a TypeScript, debe declare la variable global como si siempre existiera. Si desea estar más seguro, márquelo como posiblemente undefined para que siempre tenga que verificar su existencia antes de usarlo.
interface AndroidType { field1: string; method1(): void; } declare var Android: AndroidType | undefined; if (Android) { Android.field1 = "foo"; Android.method1(); }