본문 바로가기
Android

안드로이드 페이스북,인스타그램,블로그 페이지 띄우기.

by 일용직 코딩노동자 2020. 3. 6.
728x90
반응형

가끔 어플이나 사이트를 살펴보시면

이런식으로 아이콘이 있습니다.

 

누르면 해당홍보 페이지가 나온다거나 어플이 실행된다거나 합니다.

 

그냥 어플만 실행시킬거라면, https://onedaycodeing.tistory.com/52

 

안드로이드(android) 인텐트(Intent) 외부 어플 실행 및 패키지명 알아보기

try{ Intent intent = getPackageManager().getLaunchIntentForPackage(packageName); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); } catch (Exception e){ String url = "market://..

onedaycodeing.tistory.com

여기 페이지를 참조해주세요.

 

이번 게시글은 해당 SNS의 페이지로 이동까지 하는걸 해보도록 하겠습니다.

 

우선 페이스북이에요.

 

String facebookPageID = "LotteCinema.kr/photos/a.258435894539443/1074803082902716/?type=3&theater";
                String facebookUrl = "https://www.facebook.com/" + facebookPageID; //링크
                String facebookUrlScheme = "fb://page/" + facebookPageID;
                try {
                    int VersionCode = getPackageManager().getPackageInfo("com.facebook.katana", 0).versionCode;
                    if (VersionCode >= 3002850) {
                        Uri uri = Uri.parse("fb://facewebmodal/f?href=" + facebookUrl);
                        startActivity(new Intent(Intent.ACTION_VIEW, uri));
                    }
                    else {
                        startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(facebookUrlScheme)));
                    }
                }
                catch (PackageManager.NameNotFoundException e) {
                    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(facebookUrl)));
                }

 

여기서 주의하셔야 할 것은 String facebookPageID 입니다.

 

해당변수의 값에다가는 페이스북 페이지의 아이디를 넣어주는데요 이걸 확인하는 방법은

 

 

저는 우선 롯데시네마를 검색해봤습니다 그리고 이 페이지의 ID값을 알아볼게요

 

위에 주소창 보시면 facebook.com/하고 뒤에 쭉 뭐가 많이있어요 이게 ID값이에요 이걸 String변수에

 

넣어주시면 됩니다.

 

또 다른 예를 보면 이번에는 페이지안에 게시글로 바로 이동하게 하고싶다고 하시면,

 

이번에는 게시글에 들어왔어요 이 게시글의 아이디도 확인하는 방법은 같아요.

 

게시글을 클릭하고 위에 주소창을 보시면 주소가 변경된것을 알 수 있습니다.

 

예제소스에는 게시글 주소로 되어있네요!

 

 

이번에는 인스타그램 한번 보실게요

 

String InstagramPageID = "megaboxon/"; //특정 페이지만 띄울때 사용
                String InstagramPostID = "p/"+"B8s2S8PFIR2/"; //게시글을 까지 보여주고싶다면 이변수를 활용

                if(!InstagramPageID.equals("")) InstagramPostID = ""; //만약 특정페이지 url이 있다면 게시글 url값을 초기화

                Uri uri = Uri.parse("http://instagram.com/_u/"+InstagramPostID+InstagramPageID);
                Intent Instagram_Intent = new Intent(Intent.ACTION_VIEW, uri);

                Instagram_Intent.setPackage("com.instagram.android");

                try {
                    startActivity(Instagram_Intent);
                } catch (ActivityNotFoundException e) {
                    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://instagram.com/"+InstagramPostID+InstagramPageID)));
                }

저는 메가박스를 검색하여 들어왔어요.

 

인스타그램은 PageID와 PostID가 조금 형식이 다릅니다.

 

PageID는 그냥 딱 들어온 페이지 현재 보는 사진과같은 페이지에요

 

PostID는 뭔가 게시글을 클릭한 상태입니다.

 

우선 똑같이 주소값을 확인해볼게요.

 

위사진의 주소값을 확인해보면,

 

어..참 짦네요 ㅎㅎ 그럼 이 부분을 복사하셔서 InstagramPageID변수에 넣어주세요

 

그러면 끝이나는데 하나 더 보자면 이제는 게시글을 바로 들어가려고 할때!

 

이러한 미니언즈가 있는 게시글을 들어왔어요 주소값을 확인해볼게요.

 

다른점이 보이시나요?

 

/p가 붙어요 게시글에는 그래서 소스에서 보시면 InstagramPostID변수는 조금 다르게 되어있는걸 볼 수 있습니다.

 

주석을 참고하시면 더 이용하시기 편하실거에요.

 

이제 마지막으로 블로그는 더 쉽습니다.

 

String url = "https://onedaycodeing.tistory.com/";
                Intent Blog_Intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                startActivity(Blog_Intent);

 

이걸로 끝입니다 ㅎㅎ

 

도움이 되셨다면 하트와 궁금하신 사항은 댓글을 남겨주세요.

728x90
반응형

댓글