Мне нравится знать, есть ли способ выполнить код в системном приложении в android. Я нашел в ожидании намерения мы можем назначить нашу работу для выполнения в иностранной заявке, такой как диспетчер аварийных сигналов или уведомление, но все же я нашел, что задание выполняется в том же процессе приложения. Для четкого пониманияВыполнение кода в системном процессе
Здесь я создаю диспетчер аварийных сообщений при событии buttonclick ,
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Log.d("processstatus", "pid="+android.os.Process.myPid());
//creating an alarm manager
alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, customreciever.class);
pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP,SystemClock.elapsedRealtime() +10*1000, pendingIntent);
}
});
Через нижний код я получаю широковещательное событие, которое запускается каждые 10 секунд через будильника.
public class customreciever extends BroadcastReceiver {
@Override
public void onReceive(final Context context, Intent intent) {
// Same app process id expecting alaramanager process id
Log.d("processstatus", "pid="+android.os.Process.myPid());
}
}
внутри OnReceive метода я ожидал различный идентификатор процесса, кроме применения process.if это не представляется возможным через ожидание намерения, предложить мне любой другой подход к достижению этой цели.