일상&개발 로그

Intent를 String으로 변환하기 본문

개발/안드로이드 개발

Intent를 String으로 변환하기

dskim98 2017. 4. 19. 09:55

안드로이드 Intent를 String으로 저장하는 방법

로직이 자주 변경되고, 대부분의 동작이 Intent로 이루어지는 앱의 경우 서버에서 String으로 변환된 Intent를 내려주는 방법이 유용하다.

물론 내려받은 IntentString은 Intent로 다시 변환이 가능하다.

방법은 아래와 같다.



private void convertIntentAndString() {
        try {
            Intent intent = new Intent();
            intent.setAction(Intent.ACTION_MAIN);
            intent.addCategory(Intent.CATEGORY_LAUNCHER);
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            intent.setPackage("com.example.www");
            intent.putExtra("testKey", "testValue");

            String uriString = intent.toUri(Intent.URI_INTENT_SCHEME);

            Log.e(TAG, uriString);
            // intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;
launchFlags=0x10000000;package=com.example.www;S.testKey=testValue;end

            intent = Intent.parseUri(uriString, Intent.URI_INTENT_SCHEME);
            Log.e(TAG, "value: " + intent.getStringExtra("testKey"));
            // value : testValue

        } catch (URISyntaxException e) {
            e.printStackTrace();
        }
    }


Comments