나는 내 모든 수신 브로드 캐스트를 수신하는 데 문제가있는 것 같습니다. 내 코드가 문제인지 또는 Android Manifest의 문제인지 확실하지 않습니다. APK에의 활동이 적어도 한 번 시작되었습니다 때까지 브로드 캐스트 수신기가 수신되지 않음 브로드 캐스트
public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.i("BROADCAST_RECEIVED", intent.getDataString());
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wakeLock = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP, "");
wakeLock.acquire();
wakeLock.release();
context.startActivity(intent);
}
}
public void setDayOfWeekAlarm(DayOfWeek day){
long alarmInMili = 0;
Intent intent = new Intent(context,AlarmScreenActivity.class);
alarmInMili = System.currentTimeMillis() + 1000*10;
Log.i("REGISTER ALARM", String.valueOf(alarmInMili));
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, 0);
alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP,SystemClock.elapsedRealtime() +
10 * 1000,pi);
}
는 AndroidManifest를
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.brianlindsey.alarm"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="18"
android:targetSdkVersion="18" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<receiver
android:name="com.brianlindsey.AlarmReceiver"
android:enabled="true" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" >
</action>
</intent-filter>
</receiver>
</application>
</manifest>
"실수로 앱을 다운로드하는 것"이 "드라이브 바이 악성 코드 예방"이므로 그리 중요하지 않습니다. Play 스토어에 웹 사이트가 생기면 사용자는 기기에 대한 승인없이 기기에 앱을 설치하지 않아도 해킹 된 Google 자격증 명 중 하나입니다. – CommonsWare
이것은 ANdroid의 결함처럼 들리지만 사용자가 직접 조치하지 않고 앱을 설치할 수있는 방법이 있습니다. 아직이 앱을 설치할 수 있기 때문에 결함을 수정하는 이상한 방법 인 것 같습니다. (사용자가 언젠가 아이콘을보고 "이게 뭐야?") 결국 앱이 설치됩니다. –
"사용자가 직접 조치를 취하지 않고도 앱을 설치할 수있는 방법이 있습니다."- 실제로는 아닙니다. 다시 말하지만 해킹 된 Google 자격 증명 문제입니다. Google은 사용자가 해킹 된 자격 증명을 사용하는 사람과 사용자를 알릴 방법이 없으므로 사용자 입장에서 앱을 설치했습니다. – CommonsWare