I really don't understand. How is your native code running at all if you haven't loaded the library?
On Wed, Jul 18, 2012 at 1:07 PM, HV <[email protected]> wrote: > The desktop icon is for the simple java app (JNIDemo.apk). I guess what I > need is a way of calling a Java method from a native library without having > to do a load library from the Java app. Is that possible? > > If I load the library from JNIdemo, then there will be 2 contexts of the > library, one from JNIDemo and the other from where I actually need to > launch DragonHunter, so that wont work for my requirement > > > On Tuesday, July 17, 2012 11:55:01 PM UTC-7, Dianne Hackborn wrote: >> >> What is "DesktopIcon"? I don't understand what you are describing. >> >> On Tue, Jul 17, 2012 at 2:46 PM, HV <[email protected]> wrote: >> >>> Ok, I got this working. A simple JAVA app (say JNIDemo) that calls a >>> native method (in say NativeLib.so), which in turn calls back a JNIDemo >>> method. All of this is working seamlessly. Now, the next problem I have is >>> context related. I have a desktop icon which is supposed to launch an >>> Android app (such as DragonHunter) and that is failing: >>> >>> 1. JNIDemo -> NativeLib -> JNIDemo (works fine) >>> 2. DesktopIcon -> NativeLib -> JNIDemo (fails to launch an app such as >>> DragonHunter) >>> >>> Now, since 1 & 2 are running in separate processes, the JNI variables >>> are no longer valid in #2. Any ideas? >>> >>> On Saturday, July 7, 2012 11:40:05 PM UTC-7, HV wrote: >>>> >>>> Thanks Dianne, that's what I thought, hence this question. Glad to know >>>> that using 'am' is not the way to go. Could you please provide a link to >>>> the SDK where it talks about this? If there is an example, that'll be >>>> awesome >>>> >>>> Thanks again >>>> HV >>>> >>>> On Saturday, July 7, 2012 5:13:07 PM UTC-7, Dianne Hackborn wrote: >>>>> >>>>> No don't do that, the am command is not part of the SDK, and doing it >>>>> this way is horrible inefficient (you need to spin up and initialize a >>>>> fresh Dalvik vm for the am command, which takes a second or more), and >>>>> usually totally broken because you are not launching the activity from >>>>> your >>>>> own context for the system to correctly associate the call with you. >>>>> >>>>> And on top of that, your example here uses an explicit component name >>>>> of the browser activity, which is *completely* an implementation detail: >>>>> it >>>>> is likely to be different across different devices, it is *definitely* >>>>> different on devices that ship with Chrome as the default browser, etc. >>>>> >>>>> This is totally wrong. >>>>> >>>>> The right thing to do is follow the SDK and do it the right way, the >>>>> way it is documented. If you need to write a little bit of JNI code (and >>>>> it *is* a little bit, just a method call into your own Java method that >>>>> uses the SDK), then that is what you do. >>>>> >>>>> On Fri, Jul 6, 2012 at 11:58 PM, Sandeep Kumar < >>>>> [email protected]> wrote: >>>>> >>>>>> try below:- >>>>>> >>>>>> ret = execl("/system/bin/sh", "sh", "-c", "am start -a >>>>>> android.intent.action.MAIN -n >>>>>> com.android.browser/.**BrowserAc**tivity", (char *)NULL); >>>>>> >>>>>> >>>>>> >>>>>> On Saturday, July 7, 2012 3:51:58 AM UTC+9, HV wrote: >>>>>>> >>>>>>> Wanted to know what is the best practice to launch apps from native >>>>>>> code? Is using 'am' forbidden? It has to be via the system call though, >>>>>>> like system("am start ..."); Will 'am' support be discontinued going >>>>>>> forward? >>>>>>> >>>>>>> Is there any alternative method? >>>>>>> >>>>>>> Thanks much >>>>>>> HV >>>>>>> >>>>>> -- >>>>>> unsubscribe: >>>>>> android-porting+unsubscribe@**go**oglegroups.com<android-porting%[email protected]> >>>>>> website: >>>>>> http://groups.google.com/**group**/android-porting<http://groups.google.com/group/android-porting> >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Dianne Hackborn >>>>> Android framework engineer >>>>> [email protected] >>>>> >>>>> Note: please don't send private questions to me, as I don't have time >>>>> to provide private support, and so won't reply to such e-mails. All such >>>>> questions should be posted on public forums, where I and others can see >>>>> and >>>>> answer them. >>>>> >>>>> -- >>> unsubscribe: >>> android-porting+unsubscribe@**googlegroups.com<android-porting%[email protected]> >>> website: >>> http://groups.google.com/**group/android-porting<http://groups.google.com/group/android-porting> >>> >> >> >> >> -- >> Dianne Hackborn >> Android framework engineer >> [email protected] >> >> Note: please don't send private questions to me, as I don't have time to >> provide private support, and so won't reply to such e-mails. All such >> questions should be posted on public forums, where I and others can see and >> answer them. >> >> -- > unsubscribe: [email protected] > website: http://groups.google.com/group/android-porting > -- Dianne Hackborn Android framework engineer [email protected] Note: please don't send private questions to me, as I don't have time to provide private support, and so won't reply to such e-mails. All such questions should be posted on public forums, where I and others can see and answer them. -- unsubscribe: [email protected] website: http://groups.google.com/group/android-porting
