PDA

View Full Version : اجرای برنامه بدون اکتیویتی



perkas
دوشنبه 01 شهریور 1395, 15:07 عصر
سلام

چطور میتونم کاری کنم که برنامه بدون اکتیویتی اجرا بشه ( مثل گوگل پلی سرویس )

برنامه من فقط چندتا سرویس داره و یه برادکست و نمیخوام از اکتیویتی استفاده کنم

ممنون میشم راهنمایی کنید

godofphp
سه شنبه 02 شهریور 1395, 00:40 صبح
یه راه سادش اینه که یه اکتیویتی ساده بزارید و درون oncreate اون سرویس مدنظرتون رو فراخوانی بکنید و سپس اکتیویتی رو finish() بکنید
این ساده ترین روش ممکن هست و راه های دیگه هست اگه به کارتون نیومد بگید راه های دیگه رو هم بگم

perkas
سه شنبه 02 شهریور 1395, 13:06 عصر
ممنون میشم اگه راه های دیگه رو بگید

spiderman200700
پنج شنبه 04 شهریور 1395, 15:00 عصر
این دسترسی رو در منیفست قرار بده:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />



این receiver رو هم در منیفست قرار بده:
<receiver android:name="YourAutoStartReceiverClassAddress" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
به جای YourAutoStartReceiverClassAddress ، آدرس کلاس AutoStart رو قرار بده مثلا اینجوری:
com.faraji.appnotification.AutoStart



بعد کلاس AutoStart رو اینجور تعریف کن:


import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class AutoStart extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
YourService.startingService(context);
}
}


توی متد onReceive سرویستو اجرا کن.
تمام.

با این کار بعد از این که برنامه نصب شد با اولین خاموش روشن شدن گوشی سرویست اتوماتیک اجرا میشه.

برای اجرا بلافاصله بعد از نصب شدن برنامه هم میتونی یه اکتیویتی با پس زمینه transparent ایجاد کنی که یه لحظه اجرا بشه و سرویستو اجرا کنه بعد finish بشه.