1
잠시 후 ICS에서 BroadcastReceiver
을 사용하려고했습니다. 나는 모든 종류의 솔루션을 시도했지만 아무 것도 나를 위해 일하지 않았습니다.BroadcastReceivers on android 4.0.3 (ICS)
package com.sp.android;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class ScreenOffReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context arg0, Intent arg1) {
Log.e("AppSearch", "Message");
}
}
활동 클래스는 일부 코드가 ... 여기
은 ... 내 매니페스트 파일과 같은 모양을
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sp.android"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".XYZActivity"
android:label="@string/app_name"
android:windowSoftInputMode="adjustResize" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name=".ScreenOffReceiver">
<intent-filter>
<action android:name="android.intent.action.SCREEN_OFF" />
</intent-filter>
</receiver>
</application>
</manifest>
입니다 그리고 여기 내 수신기 코드입니다. 하지만 이제이 방송 수신기는 결코 등록되지 않을 것 같습니다. onReceive()
메서드가 호출되지 않습니다. 나는 해결책을 찾을 수 없었다. 모든 스레드는 적어도 하나의 활동이 있어야한다고 언급했지만 이미 가지고 있습니다.
미리 감사드립니다.
런처에서 활동을 시작하는 것이 앱 서랍에서 시작하는 것을 의미한다면, 나는 그것을 시도했다. 그러나 다시는 나에게 기쁨이 없었다. – SPatil
또한 registerReceiver (receiver, filter)를 사용하여 수신기에 코드를 등록 (등록 취소)해야합니다. 일부 의도는 매니페스트에 등록 된 경우 수신 할 수 없습니다. –
그러나 앱이 실행되고 있지 않을 때 브로드 캐스트를 수신 할 수 있습니까? 나는 코드에서 등록하는 것이 앱이 돌아갈 때만 작동한다고 생각했다 ... – SPatil