2013-04-06 3 views
0

저는 Android 프로그래밍이 처음인데,이 튜토리얼을 이해하기 위해 최선을 다하고 있습니다. this link에서 샘플 코드를 다운로드했습니다.AndroidManifest.xml에 코드를 추가하는 방법

이제 thread의 코드를 통합하려고합니다.

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.example.smsTest" 
     android:versionCode="1" 
     android:versionName="1.0"> 
    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
     <activity android:name=".SMSTest" 
        android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

    </application> 
    <uses-permission android:name="android.permission.SEND_SMS"> 
    </uses-permission> 
    <uses-permission android:name="android.permission.RECEIVE_SMS"> 
    </uses-permission> 
</manifest> 
:

여기
<receiver android:name="mypackage.SMSReceiver"> 
    <intent-filter> 
    <action android:name="android.provider.Telephony.SMS_RECEIVED"/> 
    </intent-filter> 
</receiver> 

<uses-permission android:name="android.permission.RECEIVE_SMS" /> 

내가의 AndroidManifest.xml에서 다운로드 한 샘플 파일에서 기존 코드이다 : 그것은

코드는 "당신의 AndroidManifest.xml에 SMS 수신기를 선언"여기를 말한다

이제 내 질문은 AndroidManifest.xml에 코드 (위의 첫 번째 코드)를 추가하는 위치입니다. 행운없이

<action android:name="android.provider.Telephony.SMS_RECEIVED"/> 

이와

<action android:name="android.intent.action.MAIN" /> 

:

나는이 라인을 변경했습니다.

도움을 주시면 감사하겠습니다.

+1

우선 XML은 코드가 아니며 데이터입니다. 둘째, Google에서 10 초입니다. http://www.vogella.com/articles/AndroidBroadcastReceiver/article.html – Simon

답변

1
<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.smsTest" 
    android:versionCode="1" 
    android:versionName="1.0"> 
<application android:icon="@drawable/icon" android:label="@string/app_name"> 
    <activity android:name=".SMSTest" 
       android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
<receiver android:name="mypackage.SMSReceiver"> 
    <intent-filter> 
    <action android:name="android.provider.Telephony.SMS_RECEIVED"/> 
</intent-filter> 
</receiver> 
</application> 
<uses-permission android:name="android.permission.SEND_SMS"> 
</uses-permission> 
<uses-permission android:name="android.permission.RECEIVE_SMS"> 
</uses-permission> 
</manifest> 
+0

답장을 보내 주셔서 감사합니다. SmsReceiver.java를 편집 한 후에 새로운 문제에 직면하고 있습니다. "Toast.makeText (context, str, Toast.LENGTH_SHORT) .show();"아래에'abortBroadcast(); '코드를 추가하고'API 레벨 4 (현재 최소값은 1)를 요구하는 호출과 같은 3 개의 에러가 발생했습니다 : android.telephony.SmsMessage # createFromPdu SmsReceiver.java/SMSTest/src/com/example/sms 테스트 라인 25 Android Lint 문제 ' – jaypabs

+0

@jaypabs 전체 코드와 함께 새로운 질문을 올리십시오. 대답. –

+0

@jaypabs이 답변 중 하나라도 답변을 수락하거나 (왼쪽의 녹색 체크 표시를 클릭) 답변을 upvoting하거나 (왼쪽의 오렌지색 위쪽 화살표 클릭) 평판을 돌려 줄 수 있다면 도움이됩니다. 당신의 일에 행운을 비네! maurizio –

1

애플리케이션 내부에 두 번째 항목으로 리시버를 추가해야합니다. 활동의 의도 필터를 대체하지 않습니다. 태그와 태그 사이에 있어야합니다.

매니페스트가 실제로 APS에서 무엇을 설명하고 있습니다. 귀하의 응용 프로그램에는 런처에서 실행되는 1 개의 활동 인 SMSTest가 있습니다. 또한 SMS_RECEIVED 의도를 수신하는 1 개의 수신자가 있습니다. 그래서 두 부분이 거기에 있어야합니다. 이해가 되니?

관련 문제