import android.app.ListActivity;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.provider.ContactsContract.Contacts;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends ListActivity {
String tag = "cap";
String [] name, phone, new_name;
int count = 0;
ListView listView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Cursor cursor = getURI();
int end = cursor.getCount();
name = new String[end];
phone = new String[end];
String[] bbStr = cursor.getColumnNames();
for(int i=0; i<bbStr.length;i++)
Log.e(tag, "ColumnName " + i + " : " + cursor.getColumnName(i));
if(cursor.moveToFirst()) {
do {
if(!cursor.getString(2).startsWith("01"))
continue;
name[count] = cursor.getString(1);
name[count] += "\n";
phone[count] = cursor.getString(2);
name[count] += phone[count];
count++;
} while(cursor.moveToNext());
new_name = new String[count];
for(int i=0; i<count; i++) new_name[i] = name[i];
}
cursor.close();
setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, new_name));
}
public void onListItemClick(ListView list, View view, int position, long id) {
Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setData(Uri.parse("smsto:" + phone[position]));
intent.putExtra("sms_body", "문자보낼꺼다뇽!");
startActivity(intent);
}
private Cursor getURI() {
Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
String[] projection = new String[] {
Contacts._ID,
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.NUMBER
};
String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC";
return managedQuery(uri, projection, null, null, sortOrder);
}
}
연락처를 불러와 리스트뷰를 만들고
보낼 연락처를 누르면 그 연락처로 정해진 문자를 보내게 하는 코드인데요.
거기까진 문제없이 되는데,
문자 보내는 intent로 넘어간 후에 뒤로가기 버튼을 누르면
그대로 어플이 중지되는 현상이 일어나네요.
어디가 잘못된건지 감이 안잡힙니다 ㅠㅠ
아시는 개발자분들 도와주시면 감사하겠습니다 :)
Manifast에는
android.permission.READ_CONTACTS
이거 하나만 써주었습니다.