마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

문자보내기 intent 띄운 후 죽는 현상이 있습니다

0 추천
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

이거 하나만 써주었습니다.

도꼬비 (900 포인트) 님이 2013년 9월 24일 질문

1개의 답변

+1 추천
문자 보내실 거라면 SMSManager 찾아보세요.
whitesnow (8,920 포인트) 님이 2013년 9월 24일 답변
오오 새로운걸 알아가네요 감사합니다 :)
...