Thanks Kristopher, I fully understand the kludgeyness of this implementation, and you're absolutely right, this is a quick dirty hack. The actual implementation will not be done in this way, but rather in a more secure location. However, that portion is currently not being done by myself, so in the mean time I'm trying to whip some sort of a framework up to continue development and testing, and then port the final implementation over once that is ready. It does not need to be secure or elegant - it just needs to work for now, like a duct tape, which is why I'm even contemplating writing to a file on the sdcard (which is totally insecure and not a good idea for a final implementation). :)
In any case, I appreciate your continued patience in addressing my somewhat esoteric problems. On Tuesday, August 14, 2012 11:28:19 AM UTC+8, Kristopher Micinski wrote: > > Well, this isn't really the appropriate place to answer system hacking > related questions, but basically, you're not running in the context of > that package, you're running somewhere else, so you're not storing in > that shared preferences. > > But beyond that, this is just a horrible design, you're using a shared > preferences and then: you encode the component statically, leading to > a really kludgey hack depending on your system component, you allow > the string to be read by *anyone*, not just your app, which it > probably should be, and in reality sharing data to an app should > probably be shared by using a new system server and then interfaced > with via an AIDL component or something of the like, like *every > other* system process, that is the "standard" way. > > You might be upset, because perhaps this is just a quick hack, but > then, that type of question doesn't belong on android-developers, and > this is what I think is the "right" way to do it :-). > > You can see tons of other examples of this kind of thing: inside any > *Manager, for example, providing this interface. > > kris > > On Mon, Aug 13, 2012 at 10:57 PM, galapogos <[email protected]<javascript:>> > wrote: > > Thanks, I didn't know of the android-platform group, I've posted my > question > > there. > > > > Meanwhile, do you have any idea why I would encounter the > above-mentioned > > problems with SharedPreferences? > > > > I've also tried simply creating a file in /mnt/sdcard in the framework > with > > the intention of the app reading it later, but I was thrown a permission > > denied error. I was under the impression that accessing the external > sdcard > > required no special permissions, but if permissions are necessary, I'm > not > > even sure where to specify it since I can't seem to find the > > AndroidManifest.xml of this particular framework component. > > > > Thanks again. > > > > > > On Monday, August 13, 2012 10:31:47 PM UTC+8, Kristopher Micinski wrote: > >> > >> This group is solely for SDK related applications. There is a list of > >> groups on the website indicating which might be good for this, > >> android-platform, and android-porting, perhaps? > >> > >> I'm a little weary of sticking this in shared preferences for this, > >> but I guess there's nothing inherently horrible about that.. > >> > >> kris > >> > >> On Mon, Aug 13, 2012 at 5:28 AM, galapogos <[email protected]> wrote: > >> > Where would it belong then? > >> > > >> > Yes I'm trying to share some data between the framework and the > launcher > >> > app, and I'm trying to accomplish this via SharedPreferences. The > >> > framework > >> > will set a variable during user authentication, which will then be > read > >> > later on by the launcher. I'm having some problems doing this as I > get a > >> > NameNotFoundException exception in my try-catch block. > >> > > >> > > >> > On Monday, August 13, 2012 4:01:59 PM UTC+8, Kristopher Micinski > wrote: > >> >> > >> >> FYI this *definitely* does not belong on android-developers. > >> >> > >> >> Additionally, it's sort of unclear what you're asking. You're > asking > >> >> about the sharing of the shared preferences, correct?... If you're > >> >> modifying the system and can't figure, that generally doesn't bode > >> >> well.. What are you actually trying to do? Something with > >> >> authentication? > >> >> > >> >> kris > >> >> > >> >> On Mon, Aug 13, 2012 at 2:59 AM, Sihan Goi <[email protected]> > wrote: > >> >> > Hi, > >> >> > > >> >> > Is it possible to share data between the Android framework and an > >> >> > app? > >> >> > > >> >> > I'm modifying the Android framework login component so that a > >> >> > variable > >> >> > will > >> >> > be saved upon login, and then later retrieved by another app. I'm > >> >> > trying > >> >> > to > >> >> > use SharedPreferences, and my code looks like this: > >> >> > > >> >> > In com.android.internal.policy.impl.PasswordUnlockScreen.java, I > have > >> >> > the > >> >> > following code to write to the SharedPreferences. > >> >> > > >> >> > SharedPreferences prefs = > getContext().getSharedPreferences("mypref", > >> >> > Context.MODE_WORLD_READABLE); > >> >> > SharedPreferences.Editor editor = prefs.edit(); > >> >> > editor.putString("mypref", "my data" > >> >> > editor.commit(); > >> >> > > >> >> > In my other app, I have the following code to read from it. > >> >> > > >> >> > Context con; > >> >> > String data; > >> >> > try { > >> >> > con = > this.createPackageContext("com.android.internal.policy.impl", > >> >> > 0); > >> >> > SharedPreferences pref = con.getSharedPreferences("mypref", > >> >> > Context.MODE_PRIVATE); > >> >> > data = pref.getString("mypref", "0") > >> >> > } catch (NameNotFoundException e) { > >> >> > data = "0"; > >> >> > Log.e("No data shared", e.toString()); > >> >> > } > >> >> > > >> >> > When I run the code, I keep getting the NameNotFoundException, as > it > >> >> > claims > >> >> > the application package com.android.internal.policy.impl is not > >> >> > found, > >> >> > so my > >> >> > data is always "0". > >> >> > > >> >> > How can I share data between these 2 components? > >> >> > > >> >> > Thanks. > >> >> > > >> >> > -- > >> >> > - Goi Sihan > >> >> > [email protected] > >> >> > > >> >> > -- > >> >> > You received this message because you are subscribed to the Google > >> >> > Groups "Android Developers" group. > >> >> > To post to this group, send email to [email protected] > >> >> > To unsubscribe from this group, send email to > >> >> > [email protected] <javascript:> > >> >> > For more options, visit this group at > >> >> > http://groups.google.com/group/android-developers?hl=en > >> > > >> > -- > >> > You received this message because you are subscribed to the Google > >> > Groups "Android Developers" group. > >> > To post to this group, send email to [email protected] > >> > To unsubscribe from this group, send email to > >> > [email protected] <javascript:> > >> > For more options, visit this group at > >> > http://groups.google.com/group/android-developers?hl=en > > > > -- > > You received this message because you are subscribed to the Google > > Groups "Android Developers" group. > > To post to this group, send email to > > [email protected]<javascript:> > > To unsubscribe from this group, send email to > > [email protected] <javascript:> > > For more options, visit this group at > > http://groups.google.com/group/android-developers?hl=en > -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

