ورود

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



r_khan
چهارشنبه 17 تیر 1394, 20:10 عصر
با سلام
میخوام سرویسی را بدون اکتیویتی وقتی که برنامه نصب شد اجرا کنم . تغییراتی که باید در AndroidManifest یا خود BroadcastReceiver باید بدهم چگونه است

master94
چهارشنبه 17 تیر 1394, 20:37 عصر
سلام...
چیزی که باید تو Manifest اضافه کنی ، اینه :
<receiver android:name=".Test" ><intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
Test اسم کلاسیه که از BroadcastReceiver اکستند کردی و برای اکشن هم نسبت به رسیوری که لازم داری،اکشن رو بنویس...
(تا هر چند تا اکشن که لازم داشته باشی،میتونی اکشن ها رو اضافه کنی)

r_khan
چهارشنبه 17 تیر 1394, 20:47 عصر
کد فایل مینفیست


<application android:label="App5" android:icon="@drawable/Icon">
<service android:name=".MyServices">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</service>
<receiver android:name="BootCompletedReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />

</intent-filter>
</receiver>
</application>
</manifest>


کد
BroadcastReceiver



[BroadcastReceiver]
class BootCompletedReceiver:BroadcastReceiver
{
public override void OnReceive(Context context, Intent intent)
{
context.StartService(new Intent(context, typeof(MyServices)));
}
}



اکتیویتی هم ندارم . ولی سرویس اجرا نمیشه
کجای دستورات اشتباهه

Ebrahimkh
چهارشنبه 17 تیر 1394, 22:34 عصر
بنظرم کلاس که extend کردی رو باید با این روش به تگ applecation اضافه کنی


android:name="com.package name.Classname"

r_khan
جمعه 19 تیر 1394, 00:20 صبح
بنظرم کلاس که extend کردی رو باید با این روش به تگ applecation اضافه کنی


android:name="com.package name.Classname"

متاسفانه اینم جواب نداد