Ufak Bir Android Program İsteği
-
Uyumadan önce aklıma geldi. Eğer şöyle bir program yapılabilirse işime yarayacaktır.
Google chrome da eklenti yapıyoruz falan ya onun yerine kullanıcam.
Program sdcard/settings.ini okuyacak içinde
Url = ""
Javascript=""
Style=""
Tarzında değişkenler olacak. Program url sayfasını açacak sayfa yüklenince javascripti inject edecek varsa css i de inject edecek.
Birde program sürekli çalışacak ekran kapansa dahi kapanmamış gibi sürekli açık kalacak. Mümkünse arkaplanda bile çalışsın.
http://stackoverflow.com/questions/19669659/inject-javascript-into-webchromeclient
şu yukarda belirttiğim şeyi yapması benim için yeterli olacaktır.
view.loadUrl("javascript:{ISTEDİĞİ SCRİPT}");
Var mı yazabilecek hayrına?
PC eski eclipse, sdk falan uğraşamıyorum, kasıyor yoksa kendim yapmaya çalışırdım...
pSkpt tarafından 11/Eyl/15 12:32 tarihinde düzenlenmiştir -
Up olsun.
-
pSkpt bunu yazdı
Uyumadan önce aklıma geldi. Eğer şöyle bir program yapılabilirse işime yarayacaktır.
Google chrome da eklenti yapıyoruz falan ya onun yerine kullanıcam.
Program sdcard/settings.ini okuyacak içinde
Url = ""
Javascript=""
Style=""
Tarzında değişkenler olacak. Program url sayfasını açacak sayfa yüklenince javascripti inject edecek varsa css i de inject edecek.
Birde program sürekli çalışacak ekran kapansa dahi kapanmamış gibi sürekli açık kalacak. Mümkünse arkaplanda bile çalışsın.
http://stackoverflow.com/questions/19669659/inject-javascript-into-webchromeclient
şu yukarda belirttiğim şeyi yapması benim için yeterli olacaktır.
view.loadUrl("javascript:{ISTEDİĞİ SCRİPT}");
Var mı yazabilecek hayrına?
PC eski eclipse, sdk falan uğraşamıyorum, kasıyor yoksa kendim yapmaya çalışırdım...
Usta şimdi sen webwiev arka planda acık mı tutmak istiyorsun amacını anlamış değilim + UP
-
Usta konuyu ben tam çözemedim, biraz daha açıklayıcı bir şekilde yazarsan yardımcı olabilirim
-
hocam bende anlamadım tam daha detaylı açıklarmısın
-
*JS DOSYASINI APP İÇİNDEN ÇEKECEK (local)
*Bildiğim kadarıyla vebview fonksiyonu arkaplanda çalıştıramazsın fakat görünmez yapabilirsin arkada bu işlemler döner fakat uygulama yada ekran kapanırsa fonksiyon durur
WebView myWebView = (WebView) findViewById(R.id.webView); WebSettings webSettings = myWebView.getSettings(); webSettings.setJavaScriptEnabled(true); webSettings.setAllowUniversalAccessFromFileURLs(true); myWebView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { return false; } @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); scriptyukle(view, "js/script.js"); // assets/js/script.js local konum burasi .js yi buraya gömüp çalıştıracağız
// test view.loadUrl("javascript:setTimeout(test(), 500)"); } private void scriptyukle(WevView view, String scriptFile) { InputStream input; try { input = getAssets().open(scriptFile); byte[] buffer = new byte[input.available()]; input.read(buffer); input.close(); String encoded = Base64.encodeToString(buffer, Base64.NO_WRAP); view.loadUrl("javascript:(function() {" + "var parent = document.getElementsByTagName('head').item(0);" + "var script = document.createElement('script');" + "script.type = 'text/javascript';" + "script.innerHTML = window.atob('" + encoded + "');" + "parent.appendChild(script)" + "})()"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); myWebView.loadUrl("http://www.NEREYEYUKLICEN.com"); -
1. Telefonu dosyada tutmama gerek yok. Aşağıdaki kodu okutsam uzaktaki JS'yi inject edecek zaten.
!function(t,e,n){var r,o=t.getElementsByTagName(e)[0];t.getElementById(n)||(r=t.createElement(e),r.id=n,r.onload=function(){},r.src="http://pskpt.tk/xyz.js",o.parentNode.insertBefore(r,o))}(document,"script","pskpt");
2. Müzik çalarlar sürkeli çalıyor, telefon ekranını kapatsak bile. Bu yapacağımız browser arkaplanda sürekli çalışmaz mı bu şekilde?
Bahsettiğim şeyi @Xen yapmış gibi ama sürekli çalışma kısmını yapamaz mıyız?