0

나는 내 애플 리케이션 중 하나를위한 앱 색인을 구현하기 위해 노력하고있어,하지만 난이 앱 색인 ActionappUri로 반환해야하는지 확실히 모르겠어요.라이브러리 프로젝트로 앱 색인 생성을 구현하는 방법은 무엇입니까?

패키지 이름이 com.example.myapp이고 webUrihttp://example.com/some/path 인 경우를 가정 해 보겠습니다.

내가 알고있는 것처럼, appUri은 일반적으로 올바른이 경우 com.example.myapp/http/example.com/some/path 될 것인가?

지금 내 응용 프로그램이 사용하는 라이브러리 프로젝트를 입력하고 인덱싱 활동이 존재하는 곳. 도서관 프로젝트 com.example.mylibrary과 색인 된 활동 MyActivity을 호출 해 봅시다. 앱 색인 Action에 대한 appUri이 경우 무엇을해야 - 내가 ADB를 사용하여 활동을 시작하려면

, 나는

adb shell am start -W -a android.intent.action.VIEW -d "http://example.com/some/path" com.example.myapp/com.example.mylibrary.MyActivity

그래서, 내 질문은 사용해야합니까? 활동이 도서관 프로젝트 내에 있다는 사실에 전혀 영향을 줍니까?

답변

0

일반적으로 당신은 라이브러리에서 제공 Action.Builder 액션을 구축 할 수 있습니다. uri는 관련 URI를 제공해야합니다. 따라서 View Action을 색인화하려면보고있는 제품의 URI를 제공해야합니다.

Uri.Builder builder = new Uri.Builder(); 
    String uriStr = builder 
     .scheme("http") 
     .authority("example.com") 
     .appendPath("some/path").build().toString(); 

    Action action = new Action.Builder(Action.Builder.VIEW_ACTION) 
     .setObject("productName", uriStr) 
     .build(); 


자세한 내용은 당신이 logging actions docs과 샘플 응용 프로그램을 볼 수 있습니다. 테스트하려면
:
{패키지 이름} = com.example.MyApp로 및 URL = 끝에 http://example.com/some/path

, 도서관에 배치 액티비티가 처리 할 수있는 인 텐트 필터가 있어야

adb shell am start -a android.intent.action.VIEW -d "{URL}" {package name} 

당신의 URI http://example.com/some/path

+0

죄송 합니다만, 'adb' 명령이 작동하지 않습니다.'오류 : 활동이 시작되지 않았으며, 의도를 해결할 수 없습니다. '라는 메시지가 나타납니다. (질문에'adb' 명령을 참조하십시오 - 그것은 라이브러리 프로젝트를 참조하기 때문에 그 일하고) 나는 활동이 내가 처음에 질문을 부탁 해요 이유 라이브러리 프로젝트 내부에 있기 때문입니다 믿고 ... – BadCash

+0

내 나쁜 - 어떻게 든 그 공상 인용 부호 (' ""')로 엉망이있어했던 URL 주위에 따옴표를 밝혀! 어떤 이유로 패키지 이름만을 사용할 때 '오류 : 활동이 시작되지 않았고, 의도를 해결할 수 없음'을 일으켰지 만, 전체 패키지 이름 + 활동을 지정할 때는 잘 작동했습니다. 문제 해결됨. – BadCash

관련 문제