package nliveroid.nlr.main.parser; import nliveroid.nlr.main.CommunityInfoTask; import nliveroid.nlr.main.NLiveRoid; import nliveroid.nlr.main.PrimitiveSetting; import nliveroid.nlr.main.R; import android.app.Activity; import android.content.ActivityNotFoundException; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; public class TutorialACT extends Activity{ private WebView wv; private TutorialACT ACT; @Override public void onCreate(Bundle bundle){ super.onCreate(bundle); ACT = this; requestWindowFeature(android.view.Window.FEATURE_NO_TITLE); LayoutInflater inflater = LayoutInflater.from(this); View parent = inflater.inflate(R.layout.tutorial, null); wv = (WebView) parent.findViewById(R.id.tutorial_wv); setContentView(parent); WebSettings settings = wv.getSettings(); settings.setJavaScriptEnabled(true); settings.setPluginsEnabled(true); settings.setUserAgent(1); wv.setWebViewClient(new TutorialClient()); wv.loadUrl("http://nliveroid-tutorial.appspot.com/"); } class TutorialClient extends WebViewClient{ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if(url == null || url.equals(""))return false; if(url.contains("/community/co")){ NLiveRoid app = (NLiveRoid)ACT.getApplicationContext(); if(app != null&&app.getGateView()!=null){ String session = null; if(PrimitiveSetting.getACT()!=null){ session = PrimitiveSetting.getACT().getSessionTutorial(); } if(session != null){ new CommunityInfoTask(ACT,"co395273",session,app.getGateView().getWidth()).execute(); return true; } } //コミュ参加駄目ならブラウザ Uri uri = Uri.parse(url); Intent i = new Intent(Intent.ACTION_VIEW); i.addCategory(Intent.CATEGORY_BROWSABLE); i.setDataAndType(uri, "text/html"); startActivity(i);//とりあえず何も返却値とらない }else if(url.contains("hotmail.co.jp")){//メール try{ Intent it = new Intent(); it.setAction(Intent.ACTION_SENDTO); it.setData(Uri.parse("mailto:" + "ru-apps@hotmail.co.jp")); // it.putExtra(Intent.EXTRA_SUBJECT, ); // it.putExtra(Intent.EXTRA_TEXT, ); startActivity(it); }catch(ActivityNotFoundException e){ e.printStackTrace(); callBrowser(url); } }else if(url.contains("twitter.com")){//Twitter try { // メーラーやtwitterクライアントなどを呼び出す Intent intent = new Intent(); intent.setAction(Intent.ACTION_SEND); intent.setType("text/plain"); intent.putExtra(Intent.EXTRA_TEXT, "@ru_apps "); startActivity(intent); } catch (ActivityNotFoundException e) { e.printStackTrace(); // 呼び出せるActivityが存在しない callBrowser(url); } }else{ callBrowser(url); } return true ; } private void callBrowser(String url){ Uri uri = Uri.parse(url); Intent i = new Intent(Intent.ACTION_VIEW); i.addCategory(Intent.CATEGORY_BROWSABLE); i.setDataAndType(uri, "text/html"); startActivity(i); } } }