Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Won't Fix
-
2.7.0
-
None
-
Android
Description
Hi
i have downloaded contact_view plugin from github phonegap but on java file there is error on execute method for call back and not getting super class context using "this" key word , this plugin working well for v2.6 and below so now what the changes requires for use this plugin on cordova v2.7 my plugin code is below so pls request to elaborate the changes where needed.i know there is change in execute method and now its return type is boolean but what would be after this , how would we get call back and context ? how to get rid of this issue in v2.7 cordova.
public class ContactView extends CordovaPlugin {
private static final int PICK_CONTACT = 1;
private String callback;
@Override
public PluginResult execute(String action, JSONArray args, String callbackId)
public void startContactActivity()
{ Intent intent = new Intent(Intent.ACTION_PICK); intent.setType(ContactsContract.Contacts.CONTENT_TYPE); this.ctx.startActivityForResult((Plugin) this, intent, PICK_CONTACT); } @Override
public void onActivityResult(int reqCode, int resultCode, Intent data) {
String name = null;
String number = null;
String email = null;
switch (reqCode) {
case (PICK_CONTACT):
if (resultCode == Activity.RESULT_OK) {
Uri contactData = data.getData();
Cursor c = this.ctx.managedQuery(contactData, null, null, null, null);
if (c.moveToFirst()) {
String ContactID = c.getString(c
.getColumnIndex(ContactsContract.Contacts._ID));
String hasPhone = c.getString(c.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
if (Integer.parseInt(hasPhone) == 1) {
Cursor phoneCursor = this.ctx.managedQuery(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID
+ "='" + ContactID + "'", null,
null);
while (phoneCursor.moveToNext())
}
// get email address
Cursor emailCur = this.ctx.managedQuery(
ContactsContract.CommonDataKinds.Email.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Email.CONTACT_ID + "='" + ContactID + "'", null,null);
while (emailCur.moveToNext())
emailCur.close();
name = c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
JSONObject contactObject = new JSONObject();
try
catch (JSONException e)
{ e.printStackTrace(); } this.success(new PluginResult(PluginResult.Status.OK,
contactObject), this.callback);
}
}
break;
}
}
}