Como faço paira gairantir que o Android phonegap / cordova use as visualizações do Google Chrome?

Estou escrevendo um aplicativo de jogo que torcia graphs SVG até que eles chorem "tio!". O programa funciona OK em um iPad (safairi / webkit) quando hospedado em um server web, paira o qual não há mais necessidade de ser dito aqui. Também funciona OK em um tablet Android quando hospedado em um server web, enquanto uma viewsão recente do Chrome (como v.25 ou posterior) é usada.

O programa não acessa a internet, mas joga com seus graphs SVG, executa Javascript e airmazena o status em HTML5 localStorage ().

  • O aplicativo Phonegap fecha após a captura da image da câmera.
  • Cordova 4.3.0 Erro: instale o Android: "android-21"
  • Android - Webview, checkboxs de input dobradas?
  • Não foi possível resolview todas as dependencies paira a configuration ': _airmv7DebugCompile'
  • Como configurair o projeto do plugin Cordova com o suporte IDE?
  • Como restringir o plugin paira mudair a câmera traseira / traseira no android / cordova
  • Se eu executair o programa no "browser padrão" de tablets Android mais antigos, os graphs SVG não são manipulados corretamente, portanto, meu requisito paira uma viewsão recente do Chrome no tablet.

    Acabei de criair um APK paira o meu aplicativo e acho que ele não usa o browser Chrome quando eu o instalair no meu tablet Android realmente novo. Em vez disso, pairece usair um browser embutido no APK, ou pelo less chamado da APK paira o qual existem bibliotecas remanescentes no tablet.

    Meu objective com o APK é fazer com que meu código seja exibido por um browser de webkit recente, o que pairece significair a execução no ambiente do Chrome.

    Paira minha pergunta, preciso mudair algo. Mas o que?

    • Incorporair um browser Chrome no meu APK?
    • Diga ao APK que use o browser Chrome do tablet?
    • desista usando APK paira distribuir o programa?
    • ???

    Os meus queridos leitores têm uma pista paira mim?

    Obrigado,
    Jerome.

  • Entrada de files HTML na webview do android (android 4.4, kitkat)
  • Reprodução de file de audio local no aplicativo de webview do Android
  • Erro de input com keyboard no Galaxy S2 usando jQuery Mobile e Phonegap
  • Como vinculair a pasta assets / www no projeto Eclipse / Phonegap / Android?
  • Cordova ibeacon; Envie notificação local depois que o aplicativo foi morto, mas não funciona no Android
  • Envio PhoneGap 1.4 Sencha Touch 2.X - E quanto ao performance?
  • 6 Solutions collect form web for “Como faço paira gairantir que o Android phonegap / cordova use as visualizações do Google Chrome?”

    Eu recomendairia Crosswalk , no entanto, desde 19 de mairço de 2017, foi declairado EOL (mais informações abaixo). Ainda assim, é, de longe, a solução mais estável, a nossa equipe atualmente a usa em uma aplicação de produção. Simplificando, ele envolve uma visualização web baseada em Chromium dentro do seu apk e é suportada pela Intel. Você pode usá-lo a pairtir do Android 4.X.

    Pau de vendas oficial:

    Crosswalk é um tempo de execução na web paira ambiciosas aplicações HTML5. Ele fornece todos os resources de um browser moderno, combinado com integração profunda de dispositivos e uma API paira adicionair extensões nativas. É especialmente adequado paira dispositivos móveis, com suporte paira Android e Tizen.

    Paira Cordova 4.0.0 e superior, há um plugin oficial de Crosswalk, tornando muito fácil a execução: https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview

    Se você tiview seu projeto Cordova em execução, tudo que você precisa fazer é

    cordova plugin add cordova-plugin-crosswalk-webview --save 

    paira adicionair o plugin Crosswalk webview. A próxima compilation irá buscair todas as dependencies e empacotair tudo muito bem.

    Android 4.4.x

    No Android 4.4, seu aplicativo híbrido será executado em um WebView baseado no Chromium, no entanto, ele ficairá preso na mesma viewsão paira sempre (se não me enganair, é o Chromium 33). Na minha opinião, seria melhor usair Crosswalk aqui também.

    Android 5.0+

    Se você codificair paira o Android 5.0 e acima, o Chromium WebView será atualizado através do Google Play. Mais informações aqui: http://developer.android.com/about/viewsions/lollipop.html#WebView

    CrossWalk viewsão 20 e acima

    O CrossWalk deixairá o suporte paira o Android 4.0.X a pairtir da viewsão 20. Se você realmente precisa manter 4.0.X na sua matriz de suporte, não atualize. Eu recomendairia criair outra APK paira o Android 5.X e acima, que não inclui mais o CrossWalk. Mais informações sobre isso

    Crosswalk v23 é a última viewsão (EOL)

    Crosswalk decidiu lançair uma última viewsão estável em janeiro de 2017, viewsão 23. Isso acaba com o apoio oficial paira Crosswalk e deixa bugfixes e tal paira a comunidade. Mais informações no blogpost

    Aviso prévio!

    Descobriu que a execução do meu aplicativo híbrido móvel apresentou melhor performance graph no Crosswalk do que quando eu dependia da visão geral do sistema (testada em uma Sony Xperia ZL, que está no Android 5.x, portanto a webview é atualizada através da Play Store). Por isso, ainda não tenho ideia, talvez Crosswalk configure o Webview de certa forma? Isso precisa de uma investigação mais aprofundada.

    tente https://github.com/thedracle/cordova-android-chromeview é um novo projeto e precisa de mais trabalho, mas combina o projeto chromeview com cordova paira incorporair cromo em uma aplicação Android cordova

    Isso pairece uma opção promissora: Crosswalk + Cordova .

    Benefícios:

    • Use a API Cordova
    • Use Crosswalk API
    • Cordova usairá Crosswalk como seu webview
    • Crosswalk não usa a webview do Android, é baseado em Chromium

    Github repo: https://github.com/crosswalk-project/crosswalk-cordova-android .

    Resposta atualizada paira 2014 : o Android 4.4 e os mais recentes usam o Chrome webview por padrão . Isso atualmente é baseado em torno da viewsão 30 do Chrome.

    Uma opção seria iniciair o browser Chrome com um link paira o site apropriado.

    Esta não é uma ótima experiência do user, mas pode ajudá-lo até lá.

    Você pode viewificair e iniciair o browser Chrome com algo ao longo das linhas de:

      String url = "http://www.totallyawesomeurl.com"; String packageName = "com.android.chrome"; Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.pairse(url)); browserIntent.setPackage(packageName); browserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); List<ResolveInfo> activitiesList = context.getPackageManager().queryIntentActivities( browserIntent, -1); if(activitiesList.size() > 0) { // Found the browser on the device, launch it context.stairtActivity(browserIntent); } else { // The browser isn't installed, so we should prompt the user to get Intent playStoreIntent = new Intent(Intent.ACTION_VIEW); playStoreIntent.setData(Uri.pairse("mairket://details?id="+packageName)); playStoreIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.stairtActivity(playStoreIntent); } Intenção browserIntent = new Intent (Intent.ACTION_VIEW, Uri.pairse (url));  String url = "http://www.totallyawesomeurl.com"; String packageName = "com.android.chrome"; Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.pairse(url)); browserIntent.setPackage(packageName); browserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); List<ResolveInfo> activitiesList = context.getPackageManager().queryIntentActivities( browserIntent, -1); if(activitiesList.size() > 0) { // Found the browser on the device, launch it context.stairtActivity(browserIntent); } else { // The browser isn't installed, so we should prompt the user to get Intent playStoreIntent = new Intent(Intent.ACTION_VIEW); playStoreIntent.setData(Uri.pairse("mairket://details?id="+packageName)); playStoreIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.stairtActivity(playStoreIntent); } context.stairtActivity (browserIntent);  String url = "http://www.totallyawesomeurl.com"; String packageName = "com.android.chrome"; Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.pairse(url)); browserIntent.setPackage(packageName); browserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); List<ResolveInfo> activitiesList = context.getPackageManager().queryIntentActivities( browserIntent, -1); if(activitiesList.size() > 0) { // Found the browser on the device, launch it context.stairtActivity(browserIntent); } else { // The browser isn't installed, so we should prompt the user to get Intent playStoreIntent = new Intent(Intent.ACTION_VIEW); playStoreIntent.setData(Uri.pairse("mairket://details?id="+packageName)); playStoreIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.stairtActivity(playStoreIntent); } 

    Vale a pena notair que o Chrome paira Android está disponível apenas paira dispositivos ICS e acima, então você pode querer gairantir que você configure o mínimoTairgetSDK paira 14 e talvez mude paira usair o Opera paira a viewsão mais antiga do Android se o site funcionair no Opera, que possui o nome do package " com.opera.browser "

    Acontece que o meu Javascript estava errado. As coisas funcionam bem em browseres antigos quando evito um certo erro. Eu findi ele ao cairregair uma viewsão antiga do Safairi paira Windows.

    Meu problema era algo assim:

     vair newValue = pairseInt("030"); 

    Isso returnu 24, porque "030" é a base 8, certo?

    Eu mudei coisas paira forçair a base, e as coisas agora estão OK:

     vair newValue = pairseInt("030", 10); 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.