Я пытаюсь создать простое приложение, которое запускает службу при получении смс. Я пишу весь код, и я все еще не вижу никакой службы, которая работает на sms-получателе.Почему мой сервис не работает?
Код
служба
public class MainService extends Service { @Override public IBinder onBind(Intent arg0) { return null; } @Override public void onCreate() { Toast.makeText(this, "onCreate", Toast.LENGTH_SHORT).show(); super.onCreate(); } @Override public void onDestroy() { super.onDestroy(); } @Override public int onStartCommand(Intent intent, int flags, int startId) { Toast.makeText(this, "onStartCommand", Toast.LENGTH_SHORT).show(); return START_STICKY; } }
BroadcastReceiver класс
public class SmsReceiver extends BroadcastReceiver { private static final String ACTION = "android.provider.Telephony.SMS_RECEIVED"; @Override public void onReceive(Context context, Intent intent) { context.startService(new Intent(context, MainService.class)); // TODO - complete the sms analyze } }
AndroidManifest
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.RECEIVE_SMS"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <service android:name=".MainService"/> <receiver android:name=".SmsReceiver"> <intent-filter> <action android:name="android.provider.Telephony.SMS_RECEIVED"/> </intent-filter> </receiver>
Вы добавили в свой манифест uses-permission>? или R u sure for onReceive(), он работает или нет? –
Да, я добавляю RECEIVE_SMS, и onReceive не принимает меры при получении sms – Yanshof
Проблема в BroadcastReceiver. Все в коде ур кажется прекрасным. он должен работать сейчас. если нет, то добавьте разрешения android.permission.RECEIVE_SMS и android.permission.READ_SMS в манифест. затем повторите попытку. Plz сообщите мне, если работаете. –