안드로이드 프로그래밍[Kotiln Code]/안드로이드 초기 강좌

[안드로이드] 액티비티 3 ( 암시적 인텐트 )

훈츠 2020. 4. 17. 17:52
반응형

안녕하세요. 훈츠입니다. 금일은 암시적 인텐트를 통해 다른 앱을 실행 시키는 방법에 관해 포스팅 합니다.


암시적 인텐트 (Implicit intent)

안드로이드 시스템안에서 앱에서 접근을 허용하게 만들면 명시적 인텐트로 가능하지만, 대부분 보안상의 이유로 암시적 인텐트를 사용하여, 우회적으로 요청 하도록 합니다.

 

액션 (Action)

액션을 안드로이드 시스템에 미리 등록해두면, 해당 하는 액티비티가 실행 됩니다.

 

안드로이드 기본 제공하는 표준 Intent.ACTION

  • ACTION_VIEW : 데이터를 전달하여 표시하는 용도

  • ACTION_DIAL : 전화번호를 전달하여 다이얼 화면을 띄우는 용도

  • ACTION_GET_CONTENT : 파일 데이터의 사본을 가져오는 용도

  • ACTION_OPEN_DOCUMENT : 파일을 열어 직접 핸들링 하는 용도

  • ACTION__WEB_SEARCH : 웹 검색 화면을 띄우는 용도

  • ACTION_SEND : 데이터를 공유하는 용도

 

코드 공유

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
 
        bt_web.setOnClickListener{
            val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://google.com"))
            startActivity(intent)
        }
 
        bt_send.setOnClickListener{
            val intent = Intent(Intent.ACTION_SEND)
 
            intent.type ="text/plain"
            intent.putExtra(Intent.EXTRA_EMAIL, arrayOf("아이디@naver.com")) // 수신자 지정
            intent.putExtra(Intent.EXTRA_SUBJECT, "[제목 : ]"// 제목
            intent.putExtra(Intent.EXTRA_TEXT, "내용 공유 드립니다. "//내용 
            //intent.setPackage("com.kakao.talk")  // 해당하는 패키지를 선택 할수 있습니다.
            startActivity(intent)
        }
 
    }
}
 
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs

 

반응형