-----manifest
<receiver android:name=".PackageReceiver"
android:enabled="true">
<intent-filter android:priority="100">
<action android:name="android.intent.action.PACKAGE_ADDED"/>
<action android:name="android.intent.action.PACKAGE_REPLACED"/>
<data android:scheme="package"/>
</intent-filter>
</receiver>
-----BroadcastReceiver
public class PackageReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Log.e("noti", "sucess");
//서비스 실행
Intent i = new Intent(context, NotificationService.class);
context.startService(i);
}}
안녕하세요? 작업중에 곤란한 부분이 생겨 질문 드립니다..
작업 중인 패키지는 액티비티가 없구요.. 오로지 리소스만 사용하는 패키지 입니다.
문제는 이 패키지에서 notification 알람을 사용할 일이 생겼어요.
그래서 설치 혹은 재설치시 브로드캐스트리시버를 통하여 서비스를 실행시키고 그 서비스에서 알람을 출력 할려고 했지만,,, 문제가 특정 버전 이상 부턴 출력이 안되더라구요.. 하위버전에선 되던것 같은데;;
스택 오버 플로우에 질문 해보니 ..
http://stackoverflow.com/questions/22894512/broadcastreceiver-doesnt-work/
잘 알아 볼순 없지만..
두번째 답변에서
3.1 이상은 앱을 한번 실행 시켜 줘야 한다는것 같더라고요. 그래서 상위버전에선 실행이 안됐던것 같고요..
근데 첫번째 답변에서 보시면 액티비티 혹은 서비스로 리시버를 시작 시켜줘라 라는게 있는데..
액티비티 없이 리시버를 실행 시켜 줄수가 있나요?(서비스로..)
이 패키지는 리소스만 사용 하는 패키지라.. 액티비티를 넣을수가 없거든요..
설치시 혹은 재설치시
바로 서비스 or 리시버 작동 시키는방법 아시는분 답변좀 부탁드리겠습니다.