"android.intent.action.BOOT_COMPLETED"를 사용하는 브로드 캐스트 수신기에서 서비스를 시작하려고했습니다. 이클립스에서 응용 프로그램을 클릭하여 작성하고 실행하면 잘 실행됩니다. 하지만 이미 설치된 에뮬레이터에서 실행하면 응용 프로그램이 충돌합니다. 다음은 소스 코드입니다.브로드 캐스트 수신기를 사용할 때 응용 프로그램이 충돌 함
AndroidManifest를
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.newsreader"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="13"
android:targetSdkVersion="15" />
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<application
android:icon="@drawable/icon"
android:label="@string/app_name"
android:logo="@drawable/logo"
android:theme="@style/NewsReaderStyle" >
<receiver
android:name=".StartupIntentReceiver"
android:enabled="true"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
<service android:name=".LoadFeedsService" ></service>
<activity
android:name=".NewsReaderActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".ArticleActivity"
android:theme="@style/NewsReaderStyle_NoActionBar" />
</application>
<uses-permission android:name="android.permission.INTERNET" />
</manifest>*
내 방송 리시버 사전에
*package com.example.android.newsreader;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class StartupIntentReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Log.i("reciever", "recieved intent"+ intent);
Intent serviceIntent = new Intent(context, LoadFeedsService.class);
context.startService(serviceIntent);
}
}*
감사합니다.
충돌이 발생합니까? Logcat 출력의 충돌 보고서는 무엇입니까? –
사실 더 많은 문제가있었습니다. 내 배경 서비스는 인터넷에서 데이터를 가져오고 아마도 인터넷 연결은 방송이 수신 될 때까지 사용할 수 없었습니다 ... – Ahmad