{"id":63963,"date":"2024-06-19T03:01:13","date_gmt":"2024-06-18T17:01:13","guid":{"rendered":"http:\/\/www.rjmprogramming.com.au\/ITblog\/?p=63963"},"modified":"2024-06-19T09:32:50","modified_gmt":"2024-06-18T23:32:50","slug":"xgimi-projector-android-tv-web-browser-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/xgimi-projector-android-tv-web-browser-tutorial\/","title":{"rendered":"Xgimi Projector Android TV Web Browser Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/index.php\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Xgimi Projector Android TV Web Browser Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/Android\/xgimi_android_web_browser.gif\" title=\"Xgimi Projector Android TV Web Browser Tutorial\"  style=\"float:left;\"  \/><\/a><p class=\"wp-caption-text\">Xgimi Projector Android TV Web Browser Tutorial<\/p><\/div>\n<p>For some time now, we&#8217;ve had no Android phone to test web applications with.  This can be like &#8220;flying blind&#8221; regarding a big sector of the online user cohort.<\/p>\n<p>There are simulators out there, but we thought of another idea early this morning.  The recent <a title='Projector Viewing Primer Tutorial' href='#pvpt'>Projector Viewing Primer Tutorial<\/a> talked about &#8230;<\/p>\n<ul>\n<li><a target=_blank title='Xgimi projector' href='https:\/\/au.xgimi.com'>Xgimi projector<\/a> &#8230; and its &#8230;<\/li>\n<li><a target=_blank title='Google Play' href='https:\/\/play.google.com\/store\/games?hl=en&#038;gl=US&#038;pli=1'>Google Play<\/a> app management &#8230; under the auspices of &#8230;<\/li>\n<li><a target=_blank title='Android TV' href='https:\/\/www.android.com\/intl\/en_au\/tv\/'>Android TV<\/a> &#8230; Google&#8217;s operating system for smart TVs and streaming devices<\/li>\n<\/ul>\n<p> &#8230; and we thought that with that word &#8220;Android&#8221; involved, if the <a target=_blank title='Google Play' href='https:\/\/play.google.com\/store\/games?hl=en&#038;gl=US&#038;pli=1'>Google Play<\/a> has an app to support a web browser accessible via the Xgimi projector, then we &#8220;might be cooking with gas&#8221;.<\/p>\n<p>The second such web browser related app called <a target=_blank title='Browser app via Android TV and Google Play' href='https:\/\/play.google.com\/store\/apps\/details?id=com.internet.tvbrowser&#038;hl=en_AU'>&#8220;Browser&#8221;<\/a>, of many, hit that nail on its head, mentioning in its credentials &#8220;Android&#8221; in amongst the &#8230;<\/p>\n<p><code><br \/>\nalert('navigator.userAgent=' + ('' + navigator.userAgent)); \/\/ via codeline ... \/\/ aconto.getElementById('mytable').ondblclick=function(){ alert('navigator.userAgent=' + ('' + navigator.userAgent));    };<br \/>\n<\/code><\/p>\n<p> &#8230; test we conducted for each new Browser app installed.<\/p>\n<p>And using this environment to call our RJM Programming <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/\">Landing Page<\/a> links to blog posts like below&#8217;s <a target=_blank href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/projector-viewing-primer-tutorial\/\">Projector Viewing Primer Tutorial<\/a> show, at least, two issues &#8230;<\/p>\n<ol>\n<li>Landing Page clicks of &#8220;those blue backgrounded&#8221; thumbnails did not succeed in opening the relevent WordPress Blog post &#8230; and &#8230;<\/li>\n<li>at that relevant WordPress Blog post clicking the main blog post image failed too<\/li>\n<\/ol>\n<p>We found, with Android, navigation was friendliest using &#8230;<\/p>\n<p><code><br \/>\n top.location.href=[WordPressBlogPostURL];<br \/>\n<\/code><\/p>\n<p> &#8230; Javascript code arrangements, and in both cases we fell short, with existant code so that we needed to attend to &#8230;<\/p>\n<ol>\n<li>Landing Page clicks of &#8220;those blue backgrounded&#8221; thumbnails did not succeed in opening the relevent WordPress Blog post &#8230; <font color=blue>was fixed via<\/font> &#8230;<br \/>\n<code><br \/>\n function check_if(iois) {<br \/>\n  if (iois != null) {<br \/>\n    var aconto = (iois.contentWindow || iois.contentDocument);<br \/>\n    if (aconto != null) {<br \/>\n       if (aconto.document) { aconto = aconto.document; }<br \/>\n       if (aconto.body != null) {<br \/>\n<font color=blue> if (navigator.userAgent.match(\/Android\/i)) {<br \/>\n   aconto.body.innerHTML=aconto.body.innerHTML.replace(\/\\=one_o_five\\;\\\"\/g, \"=one_o_five; if (navigator.userAgent.match(\/Android\/i)) {  if (parent.document.getElementById('ibelow')) {  top.location.href=('' + this.parentNode.href);   } }\" + '\"');<br \/>\n }<\/font><br \/>\n          var igs=aconto.getElementsByTagName('img');<br \/>\n          for (var jigs=0; jigs&lt;igs.length; jigs++) {<br \/>\n            if (igs[jigs].src.indexOf('?rand') != -1) { igs[jigs].src+='' + Math.floor(Math.random() * 456) + '&x=x';  }<br \/>\n          }<br \/>\n          aconto.getElementById('mytable').style.width='100%';<br \/>\n          aconto.getElementById('mytable').style.backgroundColor='rgba(150,120,250,0.5)';<br \/>\n          \/\/aconto.getElementById('mytable').ondblclick=function(){ alert('navigator.userAgent=' + ('' + navigator.userAgent));    };<br \/>\n       }<br \/>\n    }<br \/>\n  }<br \/>\n }<br \/>\n<\/code><br \/>\n &#8230; and &#8230;<\/li>\n<li>at that relevant WordPress Blog post clicking the main blog post image failed too &#8230; and fixed via TwentyTen theme <font color=blue>header.php<\/font> changes &#8230;<br \/>\n&lt;?php echo &#8221;<br \/>\n<code><br \/>\n  var imgi = document.getElementsByTagName('img');<br \/>\n  for (iyt=0; iyt&lt;imgi.length; iyt++) {<br \/>\n <font color=blue>if (navigator.userAgent.match(\/Android\/i)) {<br \/>\n   if (iyt == 0) {<br \/>\n     document.getElementById('styleandroid').innerHTML='&lt;sty' + \"le&gt; .wp-caption-text {  text-decoration: underline; } .wp-caption-text::before {  content: '\\\\01F517    '; } &lt;\/sty\" + 'le&gt;';<br \/>\n   }<br \/>\n   if (imgi[iyt].parentElement) {<br \/>\n   if (imgi[iyt].parentNode.href) {<br \/>\n   imgi[iyt].parentNode.ontouchend=function(event){  top.location.href=event.target.href; };<br \/>\n   \/\/imgi[iyt].ontouchstart=function(evt){ top.location.href=evt.target.parentNode.href; };<br \/>\n   }<br \/>\n   }<br \/>\n } <\/font><br \/>\n    altis = imgi[iyt].alt;<br \/>\n    titleis = imgi[iyt].title;<br \/>\n    if (altis == null) {<br \/>\n      if (titleis != null) {<br \/>\n        if (titleis != '') {<br \/>\n          imgi[iyt].alt = titleis;<br \/>\n        }<br \/>\n      }<br \/>\n    } else if (altis == '') {<br \/>\n      if (titleis != null) {<br \/>\n        if (titleis != '') {<br \/>\n          imgi[iyt].alt = titleis;<br \/>\n        }<br \/>\n      }<br \/>\n    }<br \/>\n  }<br \/>\n<\/code><br \/>\n&#8220;; ?&gt;\n<\/li>\n<\/ol>\n<p> &#8230; all possible because of this new Xgimi Google Play and Android TV app called &#8220;Browser&#8221; <font size=1>(you all might be able to see)<\/font> on today&#8217;s <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/Android\/xgimi_android_web_browser.gif\" title=\"Xgimi Projector Android TV Web Browser Tutorial\">animated GIF presentation<\/a> showing this install process.<\/p>\n<p><!--p>You can also see this play out at WordPress 4.1.1's <a target=_blank  href='\/\/www.rjmprogramming.com.au\/ITblog\/xgimi-projector-android-tv-web-browser-tutorial\/'>Xgimi Projector Android TV Web Browser Tutorial<\/a>.<\/p-->\n<hr>\n<p id='pvpt'>Previous relevant <a target=_blank title='Projector Viewing Primer Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/projector-viewing-primer-tutorial\/'>Projector Viewing Primer Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/projector.pdf\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Projector Viewing Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/projector.jpg\" title=\"Projector Viewing Primer Tutorial\"  style=\"float:left;\"  \/><\/a><p class=\"wp-caption-text\">Projector Viewing Primer Tutorial<\/p><\/div>\n<p>Are you interested in swapping out a television viewing system of watching entertainment for a projector based one?<\/p>\n<p>We recently acquired an <a target=_blank title='Xgimi projector' href='https:\/\/au.xgimi.com'>Xgimi projector<\/a>, and after setting up the projector with a decent screen to project to, found the setting up of streaming applications through <a target=_blank title='Google Play' href='https:\/\/play.google.com\/store\/games?hl=en&#038;gl=US&#038;pli=1'>Google Play<\/a>, via, perhaps, a <a target=_blank title=Gmail href='https:\/\/gmail.com'>Gmail<\/a> account, very easy, to the point we got the usual big players there, as well as the crossover to Apple TV via the Apple ID we had, and no need for the Apple TV hardware!  It&#8217;s all there ready to go with the one Xgimi projector device (and stand, we found useful).<\/p>\n<p>We&#8217;re sure it&#8217;s a pros and cons decision for you going this way, or not, but we found &#8230;<\/p>\n<ul>\n<li>people feel less guilty coming and going from the entertainment viewing when there is no one television screen present (and we saw this as a pro)<\/li>\n<li>the viewing screen is naturally big, rather than &#8220;damaging to the earth&#8221; big, as plasma screens can be<\/li>\n<li>there are far fewer leads involved<\/li>\n<li>only one remote works everything<\/li>\n<li>when not watching <font size=1>(and we&#8217;d say, even when watching)<\/font> the projector system it is not there unnecessarily soaking up attention<\/li>\n<li>like back in school, some smart Alec, or stupid Alec, or both, might get to say &#8230;<br \/>\n<blockquote><p>\nDown in front!\n<\/p><\/blockquote>\n<\/ul>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d63677' onclick='var dv=document.getElementById(\"d63677\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/streaming\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d63677' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d63963' onclick='var dv=document.getElementById(\"d63963\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/android\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d63963' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>For some time now, we&#8217;ve had no Android phone to test web applications with. This can be like &#8220;flying blind&#8221; regarding a big sector of the online user cohort. There are simulators out there, but we thought of another idea &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/xgimi-projector-android-tv-web-browser-tutorial\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,18,19,29,37],"tags":[76,4802,4800,89,151,305,307,530,555,2761,576,611,613,652,680,4803,885,932,950,997,4758,2994,1144,1268,1319,1324,1325,1349,1404,1456,3276,4759,4801],"class_list":["post-63963","post","type-post","status-publish","format-standard","hentry","category-elearning","category-hardware","category-installers","category-operating-system","category-tutorials","tag-android","tag-android-android-tv","tag-android-tv","tag-app","tag-blog","tag-debug","tag-debugging","tag-google-play","tag-hardware-2","tag-header-php","tag-html","tag-install","tag-installer","tag-javascript","tag-landing-page","tag-navigator-useragent","tag-operating-system-2","tag-php","tag-platform","tag-programming","tag-projector","tag-simulate","tag-simulator","tag-theme","tag-tutorial","tag-twentyten","tag-twentyten-theme","tag-user-agent","tag-web-browser","tag-wordpress","tag-wordpress-blog","tag-xgimi","tag-xgimi-projector"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/63963"}],"collection":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/comments?post=63963"}],"version-history":[{"count":17,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/63963\/revisions"}],"predecessor-version":[{"id":63980,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/63963\/revisions\/63980"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=63963"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=63963"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=63963"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}