It is probably not worth the complexity. Axel Am 17.11.2013 21:13 schrieb "Joe Bowser" <bows...@gmail.com>:
> Agreed. This seems like it'll be super brittle depending on how long the > plugin takes to load. I'd rather play it safe and not have intents missed. > > On a related note, I want to add more OS events to Android such as > onScrollFinished and some better support for Action Bars in the next couple > of releases. This is really lacking. > > PPS: Has anyone written an ADK plugin for Cordova yet? > On Nov 17, 2013 12:04 PM, "Anis KADRI" <anis.ka...@gmail.com> wrote: > > > I don't see the difference between osevent and onload since the end > result > > is that the plugin gets created on startup ? > > > > > > On Sun, Nov 17, 2013 at 8:20 AM, <axel.nenn...@telekom.de> wrote: > > > > > Yep, definitely sounds the same issue I was experiencing. > > > > > > > > > > > > Although I am not sure whether to put onload=true in plugin.xml really > is > > > the right solution in general. > > > > > > If you want your app to be started on the first tap it is the only > > > solution. > > > > > > If you open your app then you can call some method of phonegap-nfc and > > the > > > plugin is initialized and you do not have this problem. > > > > > > A plugin that needs to react to intent filters on Android needs > > > onload=true. > > > > > > A plugin that needs to react to e.g. a file being opened on IOS needs > > > onload=true because the plugin needs to register itself for this event. > > > > > > > > > > > > *This not related to phonegap-nfc only. All plugins that need OS-Events > > > currently need onload=true.* > > > > > > > > > > > > But what Cordova is missing is a way for a plugin to express this: I > want > > > to get OS-Events (like onNewIntent on Android) but I do not need to be > > > loaded on startup. > > > > > > Each line in PluginManager.java like this “if (entry.plugin != null) {” > > > > > > > > > > > > https://github.com/apache/cordova-android/blob/master/framework/src/org/apache/cordova/PluginManager.java#L307 > > > > > > currently prevents an OS-Event to be propagated to a plugin. > > > > > > The only way to get the event is to set “onload=true” or use a plugin > > > method (thus creating a plugin instance). > > > > > > > > > > > > But if the plugin only needs to get events after the app is started > (like > > > e.g. reading an NFC tag through the app) then creating the plugin > > instance > > > is wasting startup time and memory resources. > > > > > > > > > > > > I suggest to have > > > > > > <feature…> > > > > > > <param name=”osevents” value=”true” /> > > > > > > > > > > > > and change all the line in PluginManager from > > > > > > “if (entry.plugin != null) {” > > > > > > to > > > > > > “if (entry.plugin != null || (entry.osevent==true > && > > entry.createPlugin(this.app, this.ctx)!=null)) {” > > > > > > > > > > > > Changing > > > > > > > > > > > > https://github.com/apache/cordova-android/blob/master/framework/src/org/apache/cordova/PluginEntry.java > > > > > > and the parser in PluginManager is simple… > > > > > > > > > > > > https://github.com/apache/cordova-android/blob/master/framework/src/org/apache/cordova/PluginManager.java#L147 > > > > > > > > > > > > Although this new osevent param would need support in all platforms and > > > docs and tests. Not a half-hour project… > > > > > > > > > > > > Have fun > > > > > > Axel > > > > > > > > > > > > > > > > > > *From:* Don Coleman [mailto:notificati...@github.com] > > > *Sent:* Saturday, November 16, 2013 5:37 PM > > > *To:* chariotsolutions/phonegap-nfc > > > *Cc:* AxelNennker > > > *Subject:* [phonegap-nfc] Add onload for android (#105) > > > > > > > > > > > > See @AxelNennker <https://github.com/AxelNennker> doc updates > > > https://github.com/apache/cordova-docs/pull/154/files > > > > > > Might fix #99 < > > https://github.com/chariotsolutions/phonegap-nfc/issues/99> > > > ? > > > > > > — > > > Reply to this email directly or view it on GitHub< > > https://github.com/chariotsolutions/phonegap-nfc/issues/105> > > > .[image: Description: Image removed by sender.] > > > > > >