안드로이드 구성요소
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 | btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //intent : 어플 구성요소 간 데이터 전달 매개체 //우리가 보내고자 하는 인텐트는 //SecondActivity야 니가 시작할 차례다 라는 의미의 intent세팅해야됨 Intent intent = new Intent(MainActivity.this, SecondActivity.class); startActivity(intent); } }); btn2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //action이 dial인 구성요소 앞으로 암시적 인텐트전달 Intent intent = new Intent(Intent.ACTION_DIAL); startActivity(intent); } }); } | cs |
1 2 3 4 5 6 7 | <activity android:name="어벙라ㅓㅁㄴ레ㅜㅁㄴㅇㄹ.SecondActivity"> <intent-filter > <action android:name="android.intent.action.DIAL"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity> | cs |
Activity호출 시의 flag
- FLAG_ACTIVITY_SINGLE_TOP : 엑티비티를 생성할 때 이미 생성된 엑티비티가 있으면 그 엑티비티를 그대로 사용
1 2 3 4 5 | public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(SecondActivity.this, SecondActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); startActivity(intent); | cs |
- FLAG_ACTIVITY_NO_HISTORY : 처음 이후에 실행된 엑티비티는 엑티비티 스택에 추가되지 않음
[Android] Intent 활용 예시
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | // 웹페이지 띄우기 Uri uri = Uri.parse("http://www.google.com"); Intent it = new Intent(Intent.ACTION_VIEW,uri); startActivity(it); // 구글맵 띄우기 Uri uri = Uri.parse("geo:38.899533,-77.036476"); Intent it = new Intent(Intent.Action_VIEW,uri); startActivity(it); // 구글 길찾기 띄우기 Uri uri = Uri.parse("http://maps.google.com/maps?f=d&saddr=출발지주소&daddr=도착지주소&hl=ko"); Intent it = new Intent(Intent.ACTION_VIEW,URI); startActivity(it); // 전화 걸기 Uri uri = Uri.parse("tel:xxxxxx"); Intent it = new Intent(Intent.ACTION_DIAL, uri); startActivity(it); Uri uri = Uri.parse("tel.xxxxxx"); Intent it = new Intent(Intent.ACTION_CALL,uri); // 퍼미션을 잊지 마세요. <uses-permission id="android.permission.CALL_PHONE" /> // SMS/MMS 발송 Intent it = new Intent(Intent.ACTION_VIEW); it.putExtra("sms_body", "The SMS text"); it.setType("vnd.android-dir/mms-sms"); startActivity(it); // SMS 발송 Uri uri = Uri.parse("smsto:0800000123"); Intent it = new Intent(Intent.ACTION_SENDTO, uri); it.putExtra("sms_body", "The SMS text"); startActivity(it); // MMS 발송 Uri uri = Uri.parse("content://media/external/images/media/23"); Intent it = new Intent(Intent.ACTION_SEND); it.putExtra("sms_body", "some text"); it.putExtra(Intent.EXTRA_STREAM, uri); it.setType("image/png"); startActivity(it); // 이메일 발송 Uri uri = Uri.parse("mailto:xxx@abc.com"); Intent it = new Intent(Intent.ACTION_SENDTO, uri); startActivity(it); Intent it = new Intent(Intent.ACTION_SEND); it.putExtra(Intent.EXTRA_EMAIL, "me@abc.com"); it.putExtra(Intent.EXTRA_TEXT, "The email body text"); it.setType("text/plain"); startActivity(Intent.createChooser(it, "Choose Email Client")); Intent it = new Intent(Intent.ACTION_SEND); String[] tos = {"me@abc.com"}; String[] ccs = {"you@abc.com"}; it.putExtra(Intent.EXTRA_EMAIL, tos); it.putExtra(Intent.EXTRA_CC, ccs); it.putExtra(Intent.EXTRA_TEXT, "The email body text"); it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text"); it.setType("message/rfc822"); startActivity(Intent.createChooser(it, "Choose Email Client")); // extra 추가하기 Intent it = new Intent(Intent.ACTION_SEND); it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text"); it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/mysong.mp3"); sendIntent.setType("audio/mp3"); startActivity(Intent.createChooser(it, "Choose Email Client")); // 미디어파일 플레이 하기 Intent it = new Intent(Intent.ACTION_VIEW); Uri uri = Uri.parse("file:///sdcard/song.mp3"); it.setDataAndType(uri, "audio/mp3"); startActivity(it); Uri uri = Uri.withAppendedPath( MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1"); Intent it = new Intent(Intent.ACTION_VIEW, uri); startActivity(it); // 설치 어플 제거 Uri uri = Uri.fromParts("package", strPackageName, null); Intent it = new Intent(Intent.ACTION_DELETE, uri); startActivity(it); // APK파일을 통해 제거하기 Uri uninstallUri = Uri.fromParts("package", "xxx", null); returnIt = new Intent(Intent.ACTION_DELETE, uninstallUri); // APK파일 설치 Uri installUri = Uri.fromParts("package", "xxx", null); returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri); // 음악 파일 재생 Uri playUri = Uri.parse("file:///sdcard/download/everything.mp3"); returnIt = new Intent(Intent.ACTION_VIEW, playUri); // 첨부파일을 추가하여 메일 보내기 Intent it = new Intent(Intent.ACTION_SEND); it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text"); it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/eoe.mp3"); sendIntent.setType("audio/mp3"); startActivity(Intent.createChooser(it, "Choose Email Client")); // 마켓에서 어플리케이션 검색 Uri uri = Uri.parse("market://search?q=pname:pkg_name"); Intent it = new Intent(Intent.ACTION_VIEW, uri); startActivity(it); // 패키지명은 어플리케이션의 전체 패키지명을 입력해야 합니다. // 마켓 어플리케이션 상세 화면 Uri uri = Uri.parse("market://details?id=어플리케이션아이디"); Intent it = new Intent(Intent.ACTION_VIEW, uri); startActivity(it); // 아이디의 경우 마켓 퍼블리싱사이트의 어플을 선택후에 URL을 확인해보면 알 수 있습니다. // 구글 검색 Intent intent = new Intent(); intent.setAction(Intent.ACTION_WEB_SEARCH); intent.putExtra(SearchManager.QUERY,"searchString") startActivity(intent); | cs |
' IOT 기반 응용 SW과정 > Android, Arduino' 카테고리의 다른 글
Day91 (0) | 2016.07.27 |
---|---|
Day90 (0) | 2016.07.26 |
Day88 (0) | 2016.07.22 |
Day87 (0) | 2016.07.21 |
Day86 (0) | 2016.07.20 |