액티비티 , 서비스 ,
1.Explicit Intent
-컴포넌트 이름이 명시된(Explicit) 인텐트
Intent intent = new Intent(Context,Main2Activity.class);
2.Implicit Intent
-컴포넌트 이름을 모를때 사용, 기능만 적용
-예) 카메라 실행할때 기본앱일지 새로설치한 앱일지 모름
-
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.naver.com"));
new Intent(Action);
new Intent(Action. Uri);
Intent intent = new Intent(Intent.ACTION_DIAL);//Intent.Action_DIAL = "android.intent.action.DIAL" , String 값
startActivity로 intent 를 실행하면 전화가 실행된다.
Intent intent = new Intent("action.kjhhjk1234");
//action.kjhhjk1234 이라는 Action을 실행한다.
Manifest
Manifest에서 intent-filter에 action,category를 주게 되면 intent를 실행시킬때 Action과 같을때 실행한다.
-> 예를 들어 Action을 android.intent.action.DIAL로 넣으면 intent-filter action에 android.intent.action.DIAL를 가진 어플이 실행된다. (여러어플이 가지고있을경우 선택하는창이 뜬다.)
->위에서 action.kjhhjk1234이라는 Action을 주고 manifest의 intent-filter에
<action android:name="action.kjhhjk1234" />를 주게되면 거기에 맞는 컨포넌트가 실행된다.
intent 만들때 카테고리를 입력하지않을경우 Default 카테고리로 자동 지정된다.
->인텐트 필터에서 Default 카테고리 추가해줘야된다.
데이터 주고받기
데이터 입력
putExtra(STRING,data)
데이터 받기
int값일 경우
intent.getIntExtra("name",10)
10은 데이터가 없을때 기본값
데이터 입력
putExtra(STRING,data)
intent.putExtra("name",editText.getText().toString());
데이터 받기
Intent intent = getIntent();
intent.getStringExtra("name")
int값일 경우
intent.getIntExtra("name",10)
10은 데이터가 없을때 기본값
댓글 없음:
댓글 쓰기