نقل قول: دسترسی به call log
سلام
در قسمت onclicklistener کد زیرو وارد کن
Intent localIntent1 = new Intent("android.intent.action.PICK", ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(localIntent1, PICK_CONTACT);
در قسمت onActivityResult هم
switch (requestCode) {
case PICK_CONTACT: {
if (resultCode == Activity.RESULT_OK) {
Uri contactData = data.getData();
Cursor c = managedQuery(contactData, null, null, null, null);
if (c.moveToFirst()) {
String id = c.getString(c.getColumnIndexOrThrow(ContactsContra ct.Contacts._ID));
String hasPhone = c.getString(c.getColumnIndex(ContactsContract.Cont acts.HAS_PHONE_NUMBER));
if (hasPhone.equalsIgnoreCase("1")) {
Cursor phones = getContentResolver().query(ContactsContract.Common DataKinds.Phone.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + id, null, null);
phones.moveToFirst();
String cName = phones.getString(phones.getColumnIndex(ContactsCon tract.CommonDataKinds.Phone.DISPLAY_NAME));
String cNumber = phones.getString(phones.getColumnIndex(ContactsCon tract.CommonDataKinds.Phone.NUMBER));
edit_name.setText(cName);
edit_number.setText(cNumber);
}
}
}
}}
در منیفست برنامه هم اینو بزار
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
نقل قول: دسترسی به call log
ببخشید من فکر کردم از لیست contact ها میخوای شماره و نام رو برداری
حواسم به call log نبود معذرت
نقل قول: دسترسی به call log
خواهش می کنم
ممنون از پاسختون
من کد بالا را داشتم و بجای intent اول که به مخاطبین میرفت لیست تماس ها را قرار دادم اما قبول نکرد
هر کاری کردم نشد
بخاطر همین اینجا سوالام را مطرح کردم
فقط این call log را یک نفر کدش را بزاره که خیلی اذیتم کرده
تو stackoverflow یکی همین سوال را پرسید اما جوابی براش نذاشتن
اگه دوباره لینکشو پیدا کردم براتون میزارم که اگه خواستین به اون هم جواب بدین
منتظرم
نقل قول: دسترسی به call log
نقل قول: دسترسی به call log
ممنون از پاسختون
من به لینک هایی که قرار دادین مراجعه کردم
البته قبلا هم تمام این لینک ها را بررسی کردن و با کد ها بازی کردم تا بتونم کد خودم را درست کنم اما نتونستم
حتما از ضعف من در اندروید می باشد چون این مطالب توضیحات خوبی راجع به Call log میده
چیزی که من میخوام اینه که با کلیک بر روی دکمه وارد call log بشه و سپس با کلیک روی شماره ای آن شمره را درون یک editbox قرار بده
اگه کسی میتونه این کد را برام بفرسته واقعا ممنون میشم
نقل قول: دسترسی به call log
ای بابا مثل اینکه این مشکل حل بشو نیست
اون وقتی که تو رویاهات داری چشماتو میمالی
ولش کن بابا بذار یه بار هم دنیا ببره
.
.
.
چه فاز سنگینی:ناراحت:
نقل قول: دسترسی به call log
آخرش خودم جوابشو پیدا کردم
main :
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class CallLog extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btnPick = (Button) findViewById(R.id.btnPick);
btnPick.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String[] strFields = { android.provider.CallLog.Calls._ID,
android.provider.CallLog.Calls.NUMBER,
android.provider.CallLog.Calls.CACHED_NAME, };
String strOrder = android.provider.CallLog.Calls.DATE + " DESC";
final Cursor cursorCall = getContentResolver().query(
android.provider.CallLog.Calls.CONTENT_URI, strFields,
null, null, strOrder);
AlertDialog.Builder builder = new AlertDialog.Builder(
CallLog.this);
builder.setTitle("Select recent contact");
android.content.DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialogInterface,
int item) {
cursorCall.moveToPosition(item);
EditText editText = (EditText)findViewById(R.id.editText1);
editText.setText(cursorCall.getString(cursorCall.g etColumnIndex(android.provider.CallLog.Calls.NUMBE R)));
return;
}
};
builder.setCursor(cursorCall, listener,
android.provider.CallLog.Calls.NUMBER);
builder.create().show();
}
});
}
}
XML :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/btnPick"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="phone" >
<requestFocus />
</EditText>
</LinearLayout>
manifest :
<uses-permission android:name="android.permission.READ_CALL_LOG" />
این برنامه شماره های لیست تماس را به صورت Alertdialog درمیاره و با تب بر روی شماره مورد نظر آن را وارد edittext میکنه