«http» және «?» электронды поштадағы пошта байланысы сілтемелерінде үзіліс бар

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
    setContentView(R.layout.main);

   //Don't create another webview reference here,
   //just use the one you declared at class level.
    webview = (WebView) findViewById(R.id.webview);
    webview.getSettings().setJavaScriptEnabled(true);
    webview.loadUrl("http://www.example.com");

    webview.setWebChromeClient(new WebChromeClient() {
        public void onProgressChanged(WebView view, int progress)
        {
            activity.setTitle("Loading...");
            activity.setProgress(progress * 100);

            if(progress == 100)
                activity.setTitle(R.string.app_name);
        }
    });

    webview.setWebViewClient(new WebViewClient() {
        @Override
        public void onReceivedError(WebView view, int errorCode, String     description, String failingUrl)
        {
       //Handle the error
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url)
        {
          if(url.startsWith("mailto:")){
              MailTo mt = MailTo.parse(url);
              Intent i = newEmailIntent(HelloWorld.this, mt.getBody(), mt.getSubject());
              startActivity(i);
              view.reload();
              return true;
        }

        view.loadUrl(url);
        return true;
    }

   });
}
public static Intent newEmailIntent(Context context, String body, String subject ) {
    Intent intent = new Intent(Intent.ACTION_SEND);
    intent.putExtra(Intent.EXTRA_EMAIL, new String[] {});
    intent.putExtra(Intent.EXTRA_TEXT, body);
    intent.putExtra(Intent.EXTRA_SUBJECT, subject);
    intent.setType("rfc2368/html");
    return intent;
   }
} 

Веб-көрініс қосымшасына mailto қосу әрекеті. Бағдарламаны іске қосқан кезде және пошта байланысы сілтемесін нұқыңыз, ол хабаршыға ашады. Кейбір себептермен «http» және «?» пошта жәшігінде танылмай жатады. Бірдей пошта байланысы құрылғыдағы қарапайым шолғышта жұмыс істейді. Жалғыз өрісім - субъект пен дене.

0
Сіз mailto сілтемесі қайда араласатындығын анықтай аласыз ба?
қосылды автор slayton, көзі
Кешіріңіз, мен түсінікті болуы керек едім. сіздің кодыңыздың тармағындағы қай кезде сілтеме бұрап алынғанын түсіну үшін, logcat арқылы пайдаланылатын барлық орындарда URL жолын көрсету керек.
қосылды автор slayton, көзі
Ema & zwnj; il бұл мысалда тек mailto хабары көрсетілетін жалғыз нәрсе болып табылады «/ exampletype» Барлығы дейін/және бастау? және жоғалғаннан кейін.
қосылды автор zef99, көзі

1 жауаптар

Жақсы ставка: mailto сілтемесі тақырыбындағы/дене өрістеріндегі мазмұнның кез келгені MailTo талдау кодын алған кезде URL мекенжайынан құтқарылғанына көз жеткізіңіз (әдеби сызықтар, амперсандтар және т.б.). «? «, атап айтқанда, Mailto RFC .

Яғни, жоқ

mailto://...subject=http://foo.com?x=y

бірақ орнына көріңіз

mailto://...subject=http%3A%2F%2Ffoo.com%3Fx%3Dy
0
қосылды
Мен дұрыс слайдтарды және сұрақ белгілерін дұрыс URL кодтауымен ауыстырдым және әлі күнге дейін теле мен тақырыпты толтырмай жатырмын.
қосылды автор zef99, көзі