Vraag Kun je data synchroniseren in Android webview


Ik heb deze html:

<p>
    <a href="http://en.wikipedia.org/wiki/Sauropelta">sawr-o-pel-te</a> meaning 'lizard shield'
</p>
<p>
    April 7th, 2015
</p>
<p>
    4/7/2015
</p>
<p>
    April 7th
</p>
<p>
    Next Monday 6th<br>
</p>
<p>
    202 E South St<br>
    Orlando, FL 32801
</p>
<h3>Quick Facts</h3>
<ul>
    <li>One of the most well-understood nodosaurids<span></span></li>
    <li>The earliest known genus of nodosaurid<span></span></li>
    <li>Measured about 5 meters (16.5 ft) long<span></span></li>
    <li>The tail made up nearly half of its body length</li>
</ul>
<span></span>

En ik wil weten of het mogelijk is om de datums automatisch te koppelen, zodat wanneer de gebruiker erop drukt, u deze aan de agenda van de gebruiker (telefoon) kunt toevoegen? Een goed voorbeeld van hoe dit zou moeten werken, is Gmail. Als er een datum of het woord is (morgen, deze vrijdag, enzovoort), moet deze automatisch worden gekoppeld, zodat de datum kan worden toegevoegd aan de kalender.

Bijwerken:

Weet iemand of er een ex is. javascript dat ik kan toevoegen aan de app die dit werk voor mij zal doen?


19
2018-04-17 04:33


oorsprong


antwoorden:


Ja, het is mogelijk.

Gebruik de WebViewClient methode shouldOverrideUrlLoading om links te onderscheppen die een bepaalde waarde bevatten. Stel dat u een koppeling als deze maakt:

<a href="#addtocalendar"> April 7th, 2015 - Add to Calendar</a>

Nu gebruiken we de shouldOverrideUrlLoading om de kraan te onderscheppen en de gebeurtenis toe te voegen aan de kalender, d.w.z.

    mWebView.setWebViewClient(new WebViewClient(){
        public boolean shouldOverrideUrlLoading(WebView wView, String url)
        {
            if (url.contains("addtocalendar") ) {
               Calendar cal = Calendar.getInstance();              
               Intent intent = new Intent(Intent.ACTION_EDIT);
               intent.setType("vnd.android.cursor.item/event");
               intent.putExtra("allDay", false);
               intent.putExtra("rrule", "FREQ=YEARLY"); //optional recurring event
               intent.putExtra("beginTime", cal.getTimeInMillis());
               intent.putExtra("endTime", cal.getTimeInMillis()+3600000); // adds 1 hour
               intent.putExtra("title", "Event on April 7th, 2015");
               startActivity(intent);

               return true;
           }
      }
});

Voeg de volgende rechten toe aan AndroidManifest.xml

<uses-permission android:name="android.permission.READ_CALENDAR" />
<uses-permission android:name="android.permission.WRITE_CALENDAR" />

shouldOverrideUrlLoading 

boolean     shouldOverrideUrlLoading(WebView view, String url)

Geef de hosttoepassing een kans om de controle over te nemen wanneer een nieuwe   url staat op het punt te worden geladen in de huidige WebView.

http://developer.android.com/reference/android/webkit/WebViewClient.html


Android-kalenderprovider

http://developer.android.com/guide/topics/providers/calendar-provider.html


5
2018-04-30 13:47



Je kunt dit gebruiken link om direct naar een specifieke datum te springen.

Waar, datum = JJJJMMDD en modus = dag / maand volgens uw behoefte.

Ik hoop dat dit helpt.


0
2018-04-17 04:40