총 게시물 34,841건, 최근 1 건 안내 RSS 글쓰기
이전글  다음글  목록 글쓰기
[안드로이드]

sms수신관련 질문입니다.

글쓴이 : 봄날의곰 날짜 : 2012-04-02 (월) 19:54 조회 : 2742
글주소 : http://www.androidside.com/B49/71002



안드로이드, 자바 그리고 다양한 질문에 대해 성실히 답해드립니다. Q&A Jang

sms수신하는 부분이 전혀 작동을하지 않고있습니다..
아직 실력이 모자라...여러 자료들을 참조하며 만들고있는데.... 문자를 받은걸 전혀 인식을 못해요...

public class SmsReceiver extends BroadcastReceiver {
private static final String LOG_TAG = "SmsR";
private static final String ACTION ="android.provider.Telephony.SMS_RECEIVED";        
 
@Override
public void onReceive(Context context, Intent intent) {
Log.i(LOG_TAG, "onReceive");
try{
// TODO Auto-generated method stub
if(intent.getAction().equals(ACTION)){
Log.i(LOG_TAG, "getAction == action");
StringBuilder ab = new StringBuilder();
Bundle bundle = intent.getExtras();
if(bundle != null){
   Object[] pdusObj = (Object[]) bundle.get("pdus"); 
   SmsMessage[] messages = new SmsMessage[pdusObj.length]; 
   for (int i = 0; i<pdusObj.length; i++) { 
    messages[i] = SmsMessage.createFromPdu ((byte[])pdusObj[i]); 
       ab.append("Received compressed SMS\n FROM ");
       ab.append(messages[i].getDisplayOriginatingAddress());                  
       ab.append("--Message--- ");
       ab.append(messages[i].getDisplayMessageBody());
   } 
}
Log.i(LOG_TAG, "[SMSApp] onReceiveIntent: " + ab);
Toast.makeText(context, ab.toString(), Toast.LENGTH_LONG).show();
  
Intent i = new Intent(context, SmsSender.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}else{
}
}catch(Exception e){
Log.e(LOG_TAG, " error : " + e.toString());
}
}

}

manifest파일
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:label="@string/app_name"
            android:name=".SmsSender" >
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <!-- SMS 수신 -->
        <receivre android:name="SmsReceiver" android:permission="android.permission.BROADCAST_SMS">
            <intent-filter android:priority="1000">
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receivre>
    </application>

sms수신자체가 안됩니다..... 아시는 분 꼭 좀 답 좀 달아주세요..^^*...
 
  SMS수신 문자라인
단체문자보내기, SMS LMS MMS 대량발송, 무료문자, 장문문자, 단가할인.
www.munjaline.co.kr
  9원문자 sms9 문자
9원문자, 대량전송 전문, 착한가격, 문자 할인전문, SMS 연동서비스 무료
www.sms9.co.kr
  SMS수신전문 렛츠모바일
매우 저렴한 MO요금, 편리한 문자투표, 문자퀴즈, 질의응답, 이벤트 기능 제공
mo.letsmobile.co.kr
클릭초이스 등록


질문자가 자신의 포인트 100 점을 걸었습니다.
답변하시면 포인트 2을, 답변이 채택되면 포인트 80을 드립니다.

질문답변 게시판에서 궁금한 사항을 해결하셨다면, 애써 답변해주신 분께 잘 되었다고 따뜻한 댓글 한마디 남겨주세요.
그리고 답변해주신 분의 글을 '추천' 해주세요.
추천받으신 분에게 1포인트가, 추천하신 분에게도 1포인트가 적립됩니다. ^^

nicehee 2012-04-02 (월) 21:08
일단 <receivre android:name="SmsReceiver" 에서
<receivre android:name=".SmsReceiver"
.을 하나 선사해 주시고...
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
퍼미션도 주셔야...
댓글주소 추천 0 반대 0
봄날의곰 2012-04-02 (월) 21:21
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />는 있고, 
SmsReceiver를 ".SmsReceiver"로 해줘봤지만 안되네요.... ㅠㅠ....
댓글주소 추천 0 반대 0
     
     
안사지킴이 2012-04-02 (월) 21:21
축하드립니다. ;)
봄날의곰님은 럭키라이팅에 당첨되어 2 포인트 지급되었습니다.
이전글  다음글  목록 글쓰기

 


Copyright ⓒ www.androidside.com. All rights reserved.

3레벨 이상만 대화 가능
안사2 변경사항 보러가기
챗방 숨기기 |  챗방 보이기