Как запустить приложение в Android при включении мобильного телефона?

StackOverflow https://stackoverflow.com/questions/8848166

Вопрос

Хай, у меня есть приложение с использованием фоновой службы. Именно работает четко. выключенный? Является ли это возможным? Кто -нибудь объясняет с кодом

Обновить

public class loginForm extends Activity 
{
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView (R.layout.login);
receiver = new ConnectionReceiver();
 registerReceiver(receiver,new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
}
 }

private class ConnectionReceiver extends BroadcastReceiver{

        private Timer mTimer;
        private TimerTask mTimerTask;

        @Override
        public void onReceive(Context context, Intent intent) {
                NetworkInfo info = intent.getParcelableExtra         (ConnectivityManager.EXTRA_NETWORK_INFO);

                if(null != info)
                {
                        String state = getNetworkStateString(info.getState());
                        if(state.equals("Connected")){
                            mTimer = new Timer();
                            mTimerTask = new TimerTask() {
                                @Override
                                public void run() {
                                    loginForm.this.runOnUiThread(new Runnable() {

                                        @Override
                                        public void run() {

                                            //Toast.makeText(getBaseContext(), "Disenabled provider " + provider,
                                                    ///Toast.LENGTH_SHORT).show();  
                                            try{
                                            insertAllGpsInformation();
                                            }
                                            catch(Exception e)
                                         {
                                            Toast.makeText(getBaseContext(), "Your Net Connected or Not Login to Net"+"", Toast.LENGTH_LONG).show();
                                            Log.e("Upload Picture Error:",e.getMessage());
                                         }
                                        }


                                    });

                               }
                            };
                            mTimer.scheduleAtFixedRate(mTimerTask,180000,180000);
                        }


                        }
        }   
                }

}
Это было полезно?

Решение

Зарегистрироваться для ACTION_BOOT_COMPLETED (Смотрите здесь для деталей) Начните свой сервис на загрузке.

Другие советы

Вы должны зарегистрировать веропрограмму и искать намерение boot_completed.

Вот ссылка с некоторыми деталями: http://androidgps.blogspot.com/2008/09/starting-android-service-at-boot-time.html

Я правильно понял ваш вопрос?

Создайте вещательный приемник, который с целью завершения загрузки.

Пожалуйста, обратитесь к следующим ссылкам для получения дополнительной помощи:

  1. http://blog.gregfiumara.com/?p=82
  2. http://marakana.com/forums/android/examples/60.html

Вы можете использовать

public class BootReceiver extends BroadcastReceiver
{
   @Override
   public void onReceive(Context context, Intent intent)
   {
      // TODO Auto-generated method stub
      Log.i("BootReceiver :: Start Booting..");

      Intent i = new Intent(context, StartService.class);    // Start your service class
           i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
           context.startActivity(i);    
   }
   }

и используйте Broadcastreciever в AndroidManifest.xml как

<receiver android:name=".receiver.BootReceiver">
<intent-filter> 
<action android:name="android.intent.action.BOOT_COMPLETED" /> 
</intent-filter> 
</receiver>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top