- Details
 - Written by: Stanko Milosev
 - Category: Android
 - Hits: 4231
 
There is possibility in Android to set global exception handler. My code looks something like this:
public class BrowserActivity extends Activity {
    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            if(!(Thread.getDefaultUncaughtExceptionHandler() instanceof CustomExceptionHandler)) {
                Thread.setDefaultUncaughtExceptionHandler(new CustomExceptionHandler(this));
            }
    }
}
Where CustomExceptionHandler can look like this:
public class CustomExceptionHandler implements Thread.UncaughtExceptionHandler {
    @Override
    public void uncaughtException(Thread t, Throwable e) {
        //do something here
    }
}
    
    
    
        - Details
 - Written by: Stanko Milosev
 - Category: Android
 - Hits: 4185
 
For example, read version from JSON file. In build.gradle, in my case it is in: /app/build.gradle write something like:
def computeVersionName() {
    def f1 = new File("app/src/main/assets/version.json");
    def json = new JsonSlurper().parseText(f1.text)
    assert json instanceof Map
    return json.version
}
android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"
    defaultConfig {
        applicationId 'myId'
        minSdkVersion 16
        targetSdkVersion 22
        versionCode 2
        versionName computeVersionName()
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}
Notice:
versionName computeVersionName()
- Details
 - Written by: Stanko Milosev
 - Category: Android
 - Hits: 5280
 
It seems that androids WebView doesn't like video tag.
Here is Android code which worked for me:
        mWebView.setWebViewClient(new WebViewClient() {
            // autoplay when finished loading via javascript injection
            public void onPageFinished(WebView view, String url) {
                mWebView.loadUrl("javascript:(function() { document.getElementsByTagName('video')[0].play(); })()");
            }
        });
        mWebView.setWebChromeClient(new WebChromeClient());
Where WebChromeClient we need to handle javascript methods, and it seems that autoplay in WebView doesn't work.
Also, mWebView is: private WebView mWebView; (I took example of WebView based application)
HTML code looks like:
<video autoplay loop> <source src="http://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4"> </video>
- Details
 - Written by: Stanko Milosev
 - Category: Android
 - Hits: 4513
 
To debug your web application in Android in Chrome write:
chrome://inspect/#devices
and click inspect:

Before that in Android code write:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { 
  WebView.setWebContentsDebuggingEnabled(true); 
}