2015-02-04 2 views
1

이 문제에 대한 여러 답변을 찾았지만 제대로 작동하지 않습니다. 이메일이나 웹 사이트에서 전화 번호를 클릭하면 전화 걸기/Skype 등을 선택하기 위해 기본 전화 걸기 팝업이 나타납니다.'전화 번호 클릭'을 의도 한 후 활동 열기

그 목록에서 내 앱을 다운로드하려고합니다. 실제 통화를 처리하지만 활동을 열고 사용자가 클릭 한 번호를 표시합니다.

<receiver android:name=".MyOutgoingCallHandler"> 
      <intent-filter> 
       <action android:name="android.intent.action.ACTION_DIAL" /> 
       <action android:name="android.intent.action.NEW_OUTGOING_CALL" /> 
       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </receiver> 

를하지만 목록에 표시되지 것 :

나는 이것을 시도했습니다. 어떤 의도로 필터링해야합니까?

답변

0

, 당신은 Activity이 필요하고 <activity> 정의는 매니페스트에서이 intent-filter>를 포함해야합니다 : 당신이있어 무엇

<activity ...> 
    <intent-filter> 
     <action android:name="android.intent.action.DIAL" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 
</activity> 

는 발신 통화 Intent을받을 것 BroadcastReceiver이다. 그것은 다른 것입니다.

0

공식 Android Developers blog이이 과정을 담당합니다. 거기에 관한 모든 것을 읽을 수 있습니다.

의도 필터가 올바른 동작을하는 것처럼 보이므로 올바른 Android 권한을 요청하지 않았을 수 있습니다.

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

다음은 Android 개발자 블로그에서 브로드 캐스트 리시버를 선언하는 방법입니다. 당신이 가능한 전화 다이얼러와 같이 사용자에게 표시됩니다 Activity의 목록에 Activity를 추가하려면

<manifest> 
    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" /> 
    <application> 
     ... 
     <receiver android:name=MyOutgoingCallHandler"> 
      <intent-filter> 
       <action android:name="android.intent.action.NEW_OUTGOING_CALL" /> 
       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </receiver> 
     ... 
    </application> 
</manifest>