آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
مشکل عدم دسترسی خریداران پیشین به برخی آموزش ها برطرف شد
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مشکل در انتخاب مخاطب

سینا  6 سال پیش  6 سال پیش
0 0

سلام.

من چند روزه هرچی سرچ میزنم و کدهای مختلف رو تست میکنم هیچکدوم از کد ها کار نمیکنه.

میخوام با کلیک بر روی یه آیکون لیست مخاطبین باز بشه و یه مخاطب انتخاب بشه. هر کدی میزنم و تمام کتابخونه های مورد نیازشو هم import میکنم باز ارور های بیخود میگیره .

حتی همین کد زیر که خوده گوگل هم در داکیومنت هاش قرار داده رو هم باز گیر نیده به روش های مختلفی هم تست کردم.

یه بار کله قطعه کد رو تو یه متد جدا گذاشتم و تو رویداد کلیک قرار دادم ند، جدا اینتن رو گذاشتم بازم نشد، الانم کل قطعه کد رو در رویداد کلیک قرار دادم باز نشد.

لطفا راهنماییم کنید. ممنون

 
static final int PICK_CONTACT_REQUEST = 1;
.
.
.



select_contacts.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

private void pickContact() {
Intent pickContactIntent = new Intent(Intent.ACTION_PICK, Uri.parse("content://contacts"));
pickContactIntent.setType(Phone.CONTENT_TYPE);
startActivityForResult(pickContactIntent, PICK_CONTACT_REQUEST);
}


@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

if (requestCode == PICK_CONTACT_REQUEST) {

if (resultCode == RESULT_OK) {

Uri contactUri = data.getData();

String[] projection = {Phone.NUMBER};

Cursor cursor = getContentResolver()
.query(contactUri, projection, null, null, null);
cursor.moveToFirst();


int column = cursor.getColumnIndex(Phone.NUMBER);
String number = cursor.getString(column);

.
}
}
}



}


});

0 0
اگر میشه تمام کد رو قرار بدید احتمالا مشکل از { یا } باشه ! (6 سال پیش)
0 0
چشم الان میزارم ولی فک نمیکنم چون همه {} رو چک کردم و حتی تو یه اکتیویتی جدا فقط همین کد رو گذاشتم. ولی الان کل کل اکتیویتی رو میزارم شاید همون باشه که می فرمایید. (6 سال پیش)
 برای این سوال 2 پاسخ وجود دارد. مشاهده پاسخ صحیح
پاسخ به سوال 
سینا  6 سال پیش
0 0

package com.example.sinaakbarividpow.smspro;

import android.Manifest;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;

import java.util.ArrayList;

public class SendMesseage extends AppCompatActivity {

private Button send;
private EditText number;
private EditText Text;
private String PhoneNumber;
private String Message_text;
private ImageView select_contacts;
private int per1;
static final int PICK_CONTACT_REQUEST = 1;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_send_messeage);
PermissionsStarrt();
select_contacts = (ImageView) findViewById(R.id.select_contact);
send = (Button) findViewById(R.id.send);
number = (EditText) findViewById(R.id.number);
Text = (EditText) findViewById(R.id.text_string);
PhoneNumber = number.getText().toString();
Message_text = Text.getText().toString();



select_contacts.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

private void pickContact() {
Intent pickContactIntent = new Intent(Intent.ACTION_PICK, Uri.parse("content://contacts"));
pickContactIntent.setType(Phone.CONTENT_TYPE);
startActivityForResult(pickContactIntent, PICK_CONTACT_REQUEST);
}


@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

if (requestCode == PICK_CONTACT_REQUEST) {

if (resultCode == RESULT_OK) {

Uri contactUri = data.getData();

String[] projection = {Phone.NUMBER};

Cursor cursor = getContentResolver()
.query(contactUri, projection, null, null, null);
cursor.moveToFirst();


int column = cursor.getColumnIndex(Phone.NUMBER);
String number = cursor.getString(column);


}
}
}



}


});


send.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {

SmsManager Sms_manage = SmsManager.getDefault();
ArrayList<String> parts = Sms_manage.divideMessage(Message_text);
Sms_manage.sendMultipartTextMessage(PhoneNumber, null, parts, null, null);
Toast.makeText(getApplicationContext(), "yeah! Sms_manage send", Toast.LENGTH_LONG).show();
} catch (Exception e) {
Toast.makeText(getApplicationContext(), "SMS faild, please try again ", Toast.LENGTH_LONG).show();
e.printStackTrace();
}

}
});

}


public void PermissionsStarrt() {
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {

per1 = ContextCompat.checkSelfPermission(this, Manifest.permission_group.SMS);


if (per1 == -1) {
if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission_group.SMS)) {

} else {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.SEND_SMS, Manifest.permission.RECEIVE_SMS, Manifest.permission.READ_SMS}, 157);
}
;


}
;

}
;


}




};








پاسخ به سوال 
Hossein Lamei Ramandi  6 سال پیش
+2 0

 پاسخ صحیح

public class ActivityAddFood extends AppCompatActivity {

private Button send;
private EditText number;
private EditText Text;
private String PhoneNumber;
private String Message_text;
private ImageView select_contacts;
private int per1;
static final int PICK_CONTACT_REQUEST = 1;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_send_messeage);
permissionsStart();

select_contacts = (ImageView) findViewById(R.id.select_contact);
send = (Button) findViewById(R.id.send);
number = (EditText) findViewById(R.id.number);
Text = (EditText) findViewById(R.id.text_string);



select_contacts.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pickContact();
}
});

//اکشن برای ارسال پیام
send.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
try {
  PhoneNumber = number.getText().toString();
Message_text = Text.getText().toString();
SmsManager Sms_manage = SmsManager.getDefault();
ArrayList<String> parts = Sms_manage.divideMessage(Message_text);
Sms_manage.sendMultipartTextMessage(PhoneNumber, null, parts, null, null);
Toast.makeText(getApplicationContext(), "yeah! Sms_manage send", Toast.LENGTH_LONG).show();
} catch (Exception e) {
Toast.makeText(getApplicationContext(), "SMS faild, please try again ", Toast.LENGTH_LONG).show();
e.printStackTrace();
}

}
});

}


@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == PICK_CONTACT_REQUEST) {
if (resultCode == RESULT_OK) {
Uri contactUri = data.getData();
String[] projection = {ContactsContract.CommonDataKinds.Phone.NUMBER};
Cursor cursor = getContentResolver().query(contactUri, projection, null, null, null);
cursor.moveToFirst();
int column = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
String number = cursor.getString(column);

}
}
}


private void pickContact() {
Intent pickContactIntent = new Intent(Intent.ACTION_PICK, Uri.parse("content://contacts"));
pickContactIntent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE);
startActivityForResult(pickContactIntent, PICK_CONTACT_REQUEST);
}

public void permissionsStart() {
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
per1 = ContextCompat.checkSelfPermission(this, Manifest.permission_group.SMS);
if (per1 == -1) {
if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission_group.SMS)) {
} else {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.SEND_SMS, Manifest.permission.RECEIVE_SMS, Manifest.permission.READ_SMS}, 157);
}
}
}

}

/* public void ContactsPicker() {
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
startActivityForResult(intent,250);
onActivityResult(250,2560,intent){
}
}*/

}
0 0
یک دنیا ممنونم. درست شد. ولی من فکر میکردم بشه چند تا متد رو داخل یک متد واحد قرار داد. الان همین قطعه کد که از گوگل برداشتم رو نمیتونم تو یه کلاس جدا قرار بدم و در این اکتیویتی یک شی بسازم و از اون طریق این متد رو فراخونی کنم؟ (6 سال پیش)
+1 0
راستش متوجه سوالتون نشدم پیشنهاد میکنم آموزش های ابتدایی سایت رو مطالعه بفرمایید که فک میکنم شی گرایی جزوشونه (6 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .