안드로이드에서 기본적으로 안드로이드 sdk의 라이브러리를 지원하고 있습니다.
이클립스에서 개발하신다면 프로젝트의 property의 java Build Path에서 보시면
안드로이드 라이브러리가 있습니다.
저는 개인적으로 만들 프로잭트에서 jar파일을 생성하여 라이브러리로 설정해 주었습니다.
그런데 안드로이드 라이브러리에서는 패키지 뿐만이 아니라 리소스 까지 지원해주고 있는데요
저의 라이브러리는 패키지 의 소스만 지원해주며 , 리소스는 지원해주지 않습니다.
질문이 되었을지 모르겠습니다,,
추가로 sdcard mount 메시지를 받고 싶습니다.
자료를 찾아보다 사용하게 테스트를 해보았지만 아무런 toast도 받지 못했습니다.
manifest.xml에서 다른 추가적으로 intentfilter를 설정해주어야 하는건가요??
그리고 resume()메서드를 사용하면 실시간으로 sdcard mount를 알수가 없을것 같습니다.
@Override
protected void onResume() {
super.onResume();
IntentFilter intentFilter = new IntentFilter(
Intent.ACTION_MEDIA_MOUNTED);
intentFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED);
brocastreceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(Intent.ACTION_MEDIA_MOUNTED)) {
} else if (action.equals(Intent.ACTION_MEDIA_UNMOUNTED)) {
Toast.makeText(VideoListActivity.this, "Intent.ACTION_MEDIA_UNMOUNTED", 5000);
} else if (action.equals(Intent.ACTION_MEDIA_SCANNER_STARTED)) {
Toast.makeText(VideoListActivity.this, "Intent.ACTION_MEDIA_SCANNER_STARTED", 5000);
}
}
};
registerReceiver(brocastreceiver, intentFilter);
}
헌데 onResume()는 activity 가 시작할 경우와 자식 activitiry 가 finish 한후 활성화 되기전에 실행되는것으로 알고 있습니다.
그런데 액티비티가 떠있는동안에 정상작동한다는것이 이해가 가지 않습니다.
http://developer.android.com/guide/topics/fundamentals.html#lcycles
안드로이드 사이트에가서 브로드케스트의 라이프사이클을 보았는데...영어라 참...이해가 다 가지 않습니다.
알고 계시다면 설명좀 부탁 드립니다. 혹시 관련 글이 있으면 부탁드립니다.
혹시 풀소스에서 status bar 소스를 볼수 있다면 그것도 좋겠네요~
- 사용하신 소스는 크게 문제 없구요. Toast.makeText().show() 를 안해줘서 안뜨는게 아닐까 합니다. 액티비티의 onResume에서 하게 되면 액티비티가 떠 있을 동안에 정상동작할테니 만약 액티비티가 떠 있지 않을때도 정상동작하게 하려면 서비스에서 처리해주시면 됩니다.