Bu](http://www.anddev.org/viewtopic.php?t=428) bağlantısındaki örnek kodu kullanmayı denedim ancak eski görünüyor ve çalışmadı. Android önyüklemeyi bitirdiğinde uygulamamın otomatik olarak başlaması için hangi dosyalarda ne gibi değişiklikler yapmam gerekiyor?
İlk olarak, AndroidManifest.xml
dosyanızdaki izne ihtiyacınız vardır:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
Ayrıca, AndroidManifest.xml
dosyanızda hizmetinizi tanımlayın ve BOOT_COMPLETED eylemini dinleyin:
<service android:name=".MyService" android:label="My Service">
<intent-filter>
<action android:name="com.myapp.MyService" />
</intent-filter>
</service>
<receiver
android:name=".receiver.StartMyServiceAtBootReceiver"
android:label="StartMyServiceAtBootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
Ardından, BOOT_COMPLETED eylemini alacak ve hizmetinizi başlatacak alıcıyı tanımlamanız gerekir.
public class StartMyServiceAtBootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
Intent serviceIntent = new Intent(context, MyService.class);
context.startService(serviceIntent);
}
}
}
Ve şimdi telefon açıldığında hizmetiniz çalışıyor olmalıdır.
ACTION_BOOT_COMPLETE]1 mesajını dinleyin ve buradan itibaren ne yapmanız gerekiyorsa yapın. Burada bir kod parçacığı var.
Güncelleme:
Cevaptaki orijinal bağlantı kapalı, bu yüzden yorumlara dayanarak, burada bağlantılı kod var, çünkü bağlantılar kapalı olduğunda kimse kodu kaçırmaz.
AndroidManifest.xml (uygulama bölümü) içinde:
<receiver android:enabled="true" android:name=".BootUpReceiver"
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>
...
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
...
public class BootUpReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Intent i = new Intent(context, MyActivity.class); //MyActivity can be anything which you want to start on bootup...
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
Ek olarak, kodu değiştirmek istemiyorsanız, başlangıçta bir android uygulaması başlatmak için AutoStart gibi bir uygulama kullanabilirsiniz: AutoStart - Kök yok