hii Chen... u r correct my project was not up to date....it shows null pointer exception on emulator too.....with ur suggestion i have added setOriginalForm(Display.getinstance().getCurrent()) method, and that worked on emulator properly but on android cell phone contacts are not getting loaded and app crashes while my application loads contact....
//code
protected void onMain_Button1Action(Component c, ActionEvent event) {
super.onMain_Button1Action(c, event);
Form f = Display.getInstance().getCurrent();
t = findTextField(f).getText();
final Vector v = new Vector();
SMSShare s = new SMSShare();
EmailShare e = new EmailShare();
v.addElement(s);
v.addElement(e);
List l = new List(v);
l.setCommandList(true);
for (int i = 0; i < v.size(); i++) {
ShareService share = (ShareService) v.elementAt(i);
share.setMessage(t);
share.setOriginalForm(Display.getInstance().getCurrent());
}
final Dialog dialog = new Dialog("Share");
dialog.setLayout(new BorderLayout());
dialog.addComponent(BorderLayout.CENTER, l);
l.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent evt) {
dialog.dispose();
}
});
dialog.show();
}
check out following stack trace i got when i debug .apk file
09-24 16:13:19.906: I/System.out(12937): showKeyboard false
09-24 16:13:19.906: I/System.out(12937): showKeyboard false
09-24 16:13:19.960: I/System.out(12937): showKeyboard false
09-24 16:13:20.148: E/StatusBarPolicy(1541): ecio: 37
09-24 16:13:20.148: E/StatusBarPolicy(1541): iconLevel: 3
09-24 16:13:20.429: E/LogsProvider(12957): onCreate()
09-24 16:13:21.210: E/DatabaseUtils(12950): Writing exception to parcel
09-24 16:13:21.210: E/DatabaseUtils(12950): java.lang.SecurityException: Permission Denial: reading com.android.providers.contacts.ContactsProvider2 uri content://com.android.contacts/contacts from pid=12937, uid=10079 requires android.permission.READ_CONTACTS
09-24 16:13:21.210: E/DatabaseUtils(12950): at android.content.ContentProvider$Transport.enforceReadPermission(ContentProvider.java:312)
09-24 16:13:21.210: E/DatabaseUtils(12950): at android.content.ContentProvider$Transport.bulkQuery(ContentProvider.java:173)
09-24 16:13:21.210: E/DatabaseUtils(12950): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:111)
09-24 16:13:21.210: E/DatabaseUtils(12950): at android.os.Binder.execTransact(Binder.java:320)
09-24 16:13:21.210: E/DatabaseUtils(12950): at dalvik.system.NativeStart.run(Native Method)
09-24 16:13:21.210: W/System.err(12937): java.lang.SecurityException: Permission Denial: reading com.android.providers.contacts.ContactsProvider2 uri content://com.android.contacts/contacts from pid=12937, uid=10079 requires android.permission.READ_CONTACTS
09-24 16:13:21.210: W/System.err(12937): at android.os.Parcel.readException(Parcel.java:1322)
09-24 16:13:21.210: W/System.err(12937): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:160)
09-24 16:13:21.210: W/System.err(12937): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:114)
09-24 16:13:21.210: W/System.err(12937): at android.content.ContentProviderProxy.bulkQueryInternal(ContentProviderNative.java:330)
09-24 16:13:21.210: W/System.err(12937): at android.content.ContentProviderProxy.query(ContentProviderNative.java:366)
09-24 16:13:21.210: W/System.err(12937): at android.content.ContentResolver.query(ContentResolver.java:262)
09-24 16:13:21.210: W/System.err(12937): at com.codename1.impl.android.AndroidContactsManager.getContacts(Unknown Source)
09-24 16:13:21.210: W/System.err(12937): at com.codename1.impl.android.AndroidImplementation.getAllContacts(Unknown Source)
09-24 16:13:21.210: W/System.err(12937): at com.codename1.ui.Display.getAllContacts(Unknown Source)
09-24 16:13:21.210: W/System.err(12937): at com.codename1.contacts.ContactsManager.getAllContactsWithNumbers(Unknown Source)
09-24 16:13:21.210: W/System.err(12937): at com.codename1.share.SMSShare$1.run(Unknown Source)
09-24 16:13:21.210: W/System.err(12937): at com.codename1.impl.CodenameOneThread.run(Unknown Source)
09-24 16:13:21.210: I/System.out(12937): [SMS Thread] 0:0:0,0 - java.lang.SecurityException: Permission Denial: reading com.android.providers.contacts.ContactsProvider2 uri content://com.android.contacts/contacts from pid=12937, uid=10079 requires android.permission.READ_CONTACTS
09-24 16:13:21.289: I/Codename One(12937): Failed to load resource: methodData.dat
09-24 16:13:21.289: W/dalvikvm(12937): threadid=12: thread exiting with uncaught exception (group=0x40018578)
09-24 16:13:21.296: E/liblog(1488): failed to call dumpstate
09-24 16:13:21.296: E/AndroidRuntime(12937): FATAL EXCEPTION:
SMS Thread09-24 16:13:21.296: E/AndroidRuntime(12937):
java.lang.NullPointerException09-24 16:13:21.296: E/AndroidRuntime(12937): at java.io.DataInputStream.readToBuff(DataInputStream.java:159)
09-24 16:13:21.296: E/AndroidRuntime(12937): at java.io.DataInputStream.readInt(DataInputStream.java:286)
09-24 16:13:21.296: E/AndroidRuntime(12937): at com.codename1.impl.CodenameOneThread.getStack(Unknown Source)
09-24 16:13:21.296: E/AndroidRuntime(12937): at com.codename1.impl.CodenameOneThread.handleException(Unknown Source)
09-24 16:13:21.296: E/AndroidRuntime(12937): at com.codename1.impl.CodenameOneThread.run(Unknown Source)
09-24 16:13:21.335: E/(1488): Dumpstate > /data/log/dumpstate_app_error
09-24 16:13:21.429: E/StatusBarPolicy(1541): ecio: 37
09-24 16:13:21.429: E/StatusBarPolicy(1541): iconLevel: 3
09-24 16:13:21.453: D/dalvikvm(12937): GC_CONCURRENT freed 373K, 47% free 3176K/5959K, external 991K/1220K, paused 4ms+3ms
09-24 16:13:21.859: D/dalvikvm(12950): GC_CONCURRENT freed 190K, 46% free 3074K/5639K, external 408K/517K, paused 4ms+4ms