2014-07-23 2 views
1

특정 앱에 대한 사용자 정의 인 텐트 필터를 만드는 경우 다른 앱에서 액세스를 제한하거나 사용 가능하게 만드는 방법은 무엇입니까? 이 경우 특정 활동 또는 com.opentable.action.RESERVE에 등록 된 브로드 캐스트 리시버에서 사용자 정의 인 텐트를 앱으로 제한하는 방법

<intent-filter> 
    <action android:name="com.opentable.action.RESERVE"/> 

가 호출 될 것이다. com.opentable.action.RESERVE을 다른 앱에서 호출하거나 내 앱에만 제한 할 수 있는지 지정할 수있는 방법이 있습니까?

답변

3

응용 프로그램 내부에 있어야하는 사용자 지정 의도 동작을 정의하는 경우 Manifest 파일에 정의 할 필요가 없습니다.

예를 들어, 앱에서 디스패처 패턴 구현의 일부로 LocalBroadcastManager을 사용하고 있습니다. 그런 다음

IntentFilter filter = new IntentFilter(); 
filter.addAction("com.example.android.MY_ACTION"); 
LocalBroadcastManager.getInstance(context).registerReceiver(receiver, filter); 

나는 다음과 같은 코드를 실행하면, 내 수신기는 로컬 방송 의도가 나타납니다 : 나는 브로드 캐스트 리시버 구현이 방법을 등록 할

Intent intent = new Intent(); 
intent.setAction("com.example.android.MY_ACTION"); 
LocalBroadcastManager.getInstance(context).sendBroadcast(intent); 

당신이 당신의 행동을 게시 할 필요가 없습니다이 방법을 다른 앱과 상호 작용할 가능성이 있습니다.

관련 문제