다른 사용자가 링크를 클릭하면 처리 할 수있는 인 텐트 데이터가있는 내 앱이 열리도록 링크를 공유하려고합니다.공개 의도 열기
Intent i= new Intent(android.content.Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(android.content.Intent.EXTRA_SUBJECT,"Subject");
i.putExtra(android.content.Intent.EXTRA_TEXT, "xyz.com/blah");
i.putExtra("important stuff", "important stuff");
startActivity(Intent.createChooser(i, "Share via"));
는 또한 매니페스트에 이것을 추가 :
는<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" />
<data android:scheme="https" />
<data android:host="xyz.com" />
</intent-filter>
그래서 공유 텍스트를 클릭에, 내 응용 프로그램이 열립니다. 이제 important stuff
에 따라 앱에서 작업하고 싶습니다. 그러나 클릭하면 (예 : Whatsapp에서) 수신 된 의도로 다음과 같이 표시됩니다.
문자열 이름 : 키 com.android.browser.application_id
값 : com.whatsapp
어떻게 다시 얻을 수 있습니다 내가 의도에 보낸 important stuff
?
인 텐트 엑스트라는 공유 인 텐트에만 적용되며 해당 인 텐트에 응답하는 앱에서 처리됩니다. 사용자가 링크를 클릭하면 해당 추가 기능없이 새로운 의도가 만들어집니다. 다른 응용 프로그램에서 링크를 클릭 한 후 응용 프로그램에서 해당 데이터가 필요하면 해당 응용 프로그램에서 해당 추가 기능을 보내거나 (관련 없음) URL에 관련 데이터가 있어야합니다 (https://example.com/ 키/값') 예 : –