Search code examples
androidandroid-intentwebviewandroid-browser

Run javascript code in android browser via an intent


Ok so I was using :

String url ="http://www.example.com";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);

To send the user to visit a url on his device's browser then I was wondering if it would be possible to send a javascript code via an intent to be run on the devices browser something like javascript:alert('hello') because typing that in the browser will run it so is it possible to do it via an intent ? If it is possible wouldnt that be some sort of security flaw in android ? Any documentation or example would be nice for further ressearch. Thanks

I would also like to mention that I have tried to pass javascript code via the setData() but it just froze the UI without giving any error.


Solution

  • because typing that in the browser will run it

    That would depend on the browser. There are many Web browser implementations for Android. I would not assume that all Web browsers on Android support the javascript scheme in the address bar, though some might.

    so is it possible to do it via an intent ?

    That would depend on the browser. There are many Web browser implementations for Android. In general, I would not expect javascript to be a supported scheme, but there may be workarounds for that limitation.

    If it is possible wouldnt that be some sort of security flaw in android ?

    Possibly. It would depend on the browser and how it handled the Intent. There are many Web browser implementations for Android. It would not be a security flaw in Android, any more than bugs in Windows apps represent security flaws in Windows.