[JAVA] Permet la lecture automatique de Youtube même avec l'application Android de Cordova

Préface

Lecture automatique des médias tels que Youtube et d'autres fonctions (*) dans le développement d'applications mobiles Il est désactivé pour éviter les communications inutiles, pas seulement lors du développement d'applications natives La même chose est vraie lors du développement d'applications hybrides à l'aide de JavaScript + Cordova.

Options Cordova pour l'activer existe dans iOS mais pas dans Android. Cependant, "Eh bien, youtube ne peut-il pas être lu automatiquement uniquement sur Android en développement avec Cordova?: Cry:" Ce n'est pas le cas, c'est dans l'API native des paramètres d'application d'Android En appuyant sur la méthode setMediaPlaybackRequiresUserGesture (true / false) Vous pouvez l'activer.

Correction de code

Fichier à falsifier (com / example / hoge est le nom et l'espace de noms de l'application. Veuillez lire ce qui convient.)

platforms/android/app/src/main/java/com/example/hoge/MainActivity.java

import android.os.Bundle;
import org.apache.cordova.*;
import android.webkit.WebSettings; //★ Ajout
import android.webkit.WebView; //★ Ajout

public class MainActivity extends CordovaActivity
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);

        // enable Cordova apps to be started in the background
        Bundle extras = getIntent().getExtras();
        if (extras != null && extras.getBoolean("cdvStartInBackground", false)) {
            moveTaskToBack(true);
        }

        // Set by <content src="index.html" /> in config.xml
        loadUrl(launchUrl);
        
        //★ Ajout
        WebView wv = (WebView) appView.getEngine().getView();
        WebSettings ws = wv.getSettings();
        ws.setMediaPlaybackRequiresUserGesture(false);
    }
}

Serpentin

Si vous ne souhaitez pas conserver les plates-formes et les versions inférieures sous contrôle Git, enregistrez le fichier MainActivity.java dans un emplacement différent Je pense que c'est une bonne idée de gérer cette version et d'utiliser la fonction de crochet de Cordova pour la déplacer avant de la construire.

config.xml

<platform name="android">
  <hook type="before_build" src="scripts/updateMainActivity.sh" />
  ...

scripts/updateMainActivity.sh

#!/bin/bash

#Par exemple natif_Si vous avez MainActivity dans les codes
cp native_codes/MainActivity.java platforms/android/app/src/main/java/com/example/hoge/MainActivity.java

Recommended Posts

Permet la lecture automatique de Youtube même avec l'application Android de Cordova
Développement d'applications ROS sur Android
Remarques sur l'appel du programme d'installation sur l'application Android
J'ai créé une application de calculatrice sur Android
Application météo Android
[Version de préservation 2018] Application Android d'ingénierie inverse (.apk) sur Mac
[Android] Notes sur xml
Analyseur de spectre d'application Android
À propos des composants de l'application Android