외부 앱을 호출하는 방법은 크게 두 가지가 있다.


패키지명과 메인액티비티를 알고있는경우,

패키지명만 알고있는 경우.


1. 외부 앱의 패키지명과 메인액티비를 알고있는경우

ComponentName compName = new ComponentName(
"패키지명",
"액티비티명");
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.setComponent(compName);

startActivity(intent);

2. 외부 앱의 패키지명만 알고있는 경우

Intent intent = getPackageManager().getLaunchIntentForPackage("패키지명");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);


부가적으로,

외부앱이 설치되어 있는지 확인 하는 방법

public boolean getPackageList() {
boolean isExist = false;

PackageManager pm = getPackageManager();
List<ResolveInfo> apps;
Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
apps = pm.queryIntentActivities(intent , 0);

try {
for (int i = 0; i < apps.size(); i++) {
if(apps.get(i).activityInfo.packageName.startsWith("패키지명")){
isExist = true;
break;
}
}
}
catch (Exception e) {
isExist = false;
}
return isExist;
}

설치되어있지 않다면 설치를 유도하는 방법

String url = "market://details?id=" + "패키지명";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent );


안드로이드 앱을 개발하다보면 참으로 자유롭다는 생각이 든다.

비록 구현이 어려울지언정 불가능한 것은 없다.

Posted by positive86
,


블루투스 저전력(BLE)에 관련하여 이슈가 발생했다.

BLE스캐너나 내가 개발한 앱에서 BLE가 검색은 되는데, 커넥션이 안되는 문제가 발생하고 있었다.

다방면으로 디버깅해본결과, Bluetooth의 캐시를 삭제해보니 정상동작 하였다.


스택오버플로우에 검색해보니

BLE는 태생자체가 커넥션에 최적화 된것은 아니라서 연속된 커넥션과 디스커넥션이 일어나면 캐시에 쌓이고

최신 상태가 업데이트 되지 않는 상황에 놓이게 된다.

결국 검색은 될지언정 커넥션이 되지 않는 경우가 생긴다.


해결방법은 안드로이드 블루투스의 캐시를 삭제하거나 최신으로 업데이트를 하는 것.


사용자에게 문제가 생기면 "안드로이도의 블루투스의 캐시를 삭제하세요 방법은 이렇습니다"라고 할수있는가..??

큰 문제가 아닐수 없다.


소스코드에서 특정 어플리케이션의 캐시를 삭제하는 방법을 검색해봤는데,

이와 같은 문제를 경험하고 고민하는 개발자가 꽤나 있었던것 같다.


역시 세상은 넓고 유능한 개발자도 많다.

해결방법을 찾은 것!


https://stackoverflow.com/questions/22596951/how-to-programmatically-force-bluetooth-low-energy-service-discovery-on-android


안드로이드 BLE스택의 BluetoothGatt클래스에 BLE캐시를 삭제하는 함수가 있는데..

문제는 개발자에게 오픈된 함수가 아닌것.. 

하지만 자바에는 리플렉션이 있지요~

클래스에 대해서 아는게 없어도 리플렉션으로 그 클래스의 함수를 검색 및 사용가능한것.!!

리플렉션으로 BluetoothGatt의 refresh 함수를 호출하여

캐시를 업데이트함으로써 문제 해결!!

'Android 개발이야기' 카테고리의 다른 글

[Android]외부 앱을 호출하기  (0) 2018.09.20
Posted by positive86
,

RTA (realtime analyzer) 활용에 대한 문의

조회 : 1249 답변 : 3  airmama  2010-02-23 오전 10:48:14   신고 
---------------------------------------------------------------------------------------------------------------------------
 


아직 귀가 어두워..

맘에 안드는 음색들을 eq 조절할때 몇 hz 인지 감이 잘 안옵니다.

RTA 를 이용해서 도움을 받을수 없을지?

 

믹서에 노트북으로 사운드포지 운영하면서 RTA 를 채널별로 모니터링해서

주파수 성격을 이해해서...

 

가능할까요?

 

 

 

Re: RTA (realtime analyzer) 활용에 대한 문의     
kn592  2010-03-03 오후 4:16:29   신고  추천 : 0 
---------------------------------------------------------------------------------------------------------------------------
 

 

실제 라이브상에서 음색을 찾기는 쉬운일이 아닙니다. 주변의 잡음도 그러하고 환경적으로 좋은 모니터링 환경하에서 운용한다면 좀더 나은 사운드를 기대할 수 도있겠지만요.. 제 경우에는 녹음과 녹음한 결과를 EQ를 통해 재편집하는 과정을 해보면 이해가 빠를것이라 생각합니다. 요즘에는 소프트웨어로 다양한 편집기능과 이퀄라이징이 가능한 프로그램이 많이 있잖습니까. Adobe Audition(예전의 Cool Edit)이나 Cubase, Nuendo,등  모니터 하려는 소스만 녹음한 후에 실시간으로 E,Q를 하면서 들어보는것도 가능하고,환경이 멀티채널 녹음이 가능하다면 더더욱 이해가 빠르시겠습니다.만.. RTA경우에는 전체적인 룸튜닝에 적합하기도 하지만, 음색을 조정하고 싶다고 하신걸로 봐서는 믹서 그림의 채널단에서의 각각의 음색이라고 생각되는데요, 전체적인 사운드의 밸런스를 생각하고 접근하는게 좋을것 같습니다. 저의 경우에 공간자체에 저음이 반사가 많은곳에서 믹서를 잡고 있기에 남자나 여자 보컬은 저음(LOW)을 조금씩 커트하고 사용합니다.

 

 

 

 

저음 영역대 EQ ~~

 

 

 

 

 

고음영역대 EQ ~~

 

 

고음부분(HIGH)은 거의 손대지 않는편입니다만, 여성보컬의 경우 여렷이서 소리가 합쳐저 나올때 조금은 컷하고 사용해줍니다. 나머지 음색의 주요한 부분은

 

 

 

 

         중간영역대 EQ그림~~

 

중간영역대인데 (MID) 이경우에 믹서마다 틀리지만 대부분 그림처럼 300Hz~6kHz까지 가변으로 부스트나 컷이 가능한데..  들어봐서 중간 12시 방향 정도가 800Hz정도로 알고 있습니다. 흔히 말하는 콧소리 부분이랄까.. 하울링이 제일 많이 생기는 부분이기도하고요, 이부분에 컷트를 약간합니다. 룸튜닝에서 잡지 못하는 하울링이 있다면 그영역대를 포함해서 컷하기도 합니다.  믹서단에서 솔로기능을 활용해서 솔로 모니터링을 노트북 마이크 입력(라인입력)을 잡아주고 RTA를 걸어서 EQ그래프를 동시에 보면서 모니터링 하는것도 좋은 방법이라고 생각합니다.

 

 

무엇보다 믹서를 잡고있는 엔지니어의 상상력이 필요한거라 생각됩니다. 위의 그림에서의 각 노브의 위치에 따라서 머릿속에 이미지로 연상되는 EQ 그래프를 상상하시면서 들리는 소리와 같이 조합을 하시면서 자신만이 들리는 사운드를 찾으시길 바랍니다. 모두가 전문가가 될 수는 없지만, 내안에 그려놓은 소리의 그림은 내가 만들어내는 독창적이고 멋진 예술품처럼 말이죠^^ 저는 사람의 몸매를 연상합니다. 저음은 다리쪽 중간음은 허리과 가슴~  고음은 머리를 연상합니다. 원래의 목소리가 가늘고 길고 날씬한 소리의 사람은 다리를 좀더 굵게 해주기 위해서 저음을 올려주고, 허리나 가슴도 올려주죠 그리고 고음은 조금 깍아주고..ㅎㅎ 소리를 이미지화해서 일정한 굵기에 관한 정리를 하시면 좀더 EQ의 Hz에관한 구체적인 연상이 가능해 질겁니다.

 

참고용 RTA PROGRAM


출처 - http://blog.naver.com/mupleblog/100135588356


'음향' 카테고리의 다른 글

화이트노이즈(white noise)와 핑크노이즈(pink noise)  (0) 2014.12.30
Posted by positive86
,