반응형
* 안드로이드 다른 앱의 특정 Activity 실행 방법.
다른 앱의 특정 화면을 호출해서 정보를 전달하고, 그 결과를 다시 수신 받아야 하는 상황이 필요하다.
* 호출 부 구현.
var compName : ComponentName =
//ComponentName([패키지명],[액티비티 패키지명])
ComponentName("com.jky.sig.mysigrecevactivity","com.jky.sig.mysigrecevactivity.RecevSecondActivity")
var intent : Intent = Intent(Intent.ACTION_MAIN)
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
//intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP)
//intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
intent.addCategory(Intent.CATEGORY_LAUNCHER)
intent.putExtra("KEY", "msg value")//키, 전달하고자 하는 값.
intent.setComponent(compName);
startActivity(intent)
startActivityForResult(intent,101)
*수신 부 구현
- AndroidManinfest.xml
해당하는 액티비티에 exported="true"를 허용 하고, launchMode는 intent를 resume에서 재수신 하기 위해서 적용.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.jky.sig.mysigrecevactivity">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.MySigRecevActivity">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".RecevSecondActivity"
android:exported="true" //!! 외부앱에서 호출 허용.
android:launchMode="standard"> //!! 호출시에 리줌 단계에서 인텐트 다시 읽기(Resume)
</activity>
</application>
</manifest>
- RecevSecondActivity.kr
화면이 이미 생성된 단계에서는 Intent를 재수신 하기 위해서, onResume()에 아래와 같이 코드 구현
override fun onResume() {
super.onResume()
toastShow("onResume")
var msg = this.intent.getStringExtra("KEY") //전송부의 키값의 value를 가져온다.
Log.i("jky","onResume:: $msg")
setResult(2001)
//finish();
}
반응형
'안드로이드' 카테고리의 다른 글
[Android] 웹뷰(webview) 디버깅(debugging) 방법. (0) | 2021.09.29 |
---|---|
Android 설치된 앱(패키지) 등록된 permission 확인 (0) | 2021.09.29 |
[안드로이드] 다른 앱으로 브로드캐스트 리시버 명시적 호출 및 정지 된앱 깨우기 (0) | 2021.09.29 |
[안드로이드] ADB를 제어하여, pc에서 안드로이드 단말기로 앱을 배포 제어하기. (0) | 2021.09.29 |
[Android] Android 10.0 Q 에서 시리얼넘버(Serialnumber)대체 키 SSAID(Settings.Secure.ANDROID_ID) 확인. (3) | 2021.09.29 |