Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
3 / 3 / 0
Регистрация: 21.01.2013
Сообщений: 220
1

Ошибка при запуске внешнего сервиса

07.04.2018, 12:09. Показов 819. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток!
Делаю в Qt приложение под андроид. Сейчас решил попробовать Сделать сервис в андроид студио и запустить его с моего приложения, но получил ошибку.

Вот код сервиса:
Java
1
2
3
4
5
6
7
8
9
10
11
public class MyService extends Service {
    public MyService() {
        Log.d("MyService", "Starrrrrrrrrrrrrrrrrrrt");
    }
 
    @Override
    public IBinder onBind(Intent intent) {
        // TODO: Return the communication channel to the service.
        throw new UnsupportedOperationException("Not yet implemented");
    }
}
Манифест:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example2.admin.myservice">
 
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <service
            android:name=".MyService"
            android:enabled="true"
            android:exported="true">
            <intent-filter>
                <action android:name="my_my.service.example"/>
            </intent-filter>
        </service>
    </application>
 
    <uses-permission android:name="android.permission.INTERNET"/>
</manifest>
В андроид студио я делаю APK, копирую на смартфон, устанавливаю.
Затем запускать пытаюсь запустить с другого приложения:
Java
1
2
3
Intent  i = new Intent("my_my.service.example");
Log.i("MyActivity", i==null ? "error" : "OK");  // Здесь пишет OK
startService(i);
Ну и в результате получаю такую ошибку:
Кликните здесь для просмотра всего текста
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.securedoor.test/com.securedoor.test.MyActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.ComponentName android.content.Context.startService(android.content.Intent)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2366)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2515)
at android.app.ActivityThread.access$1000(ActivityThread.java:154)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1379)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5571)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:745)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:635)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.ComponentName android.content.Context.startService(android.content.Intent)' on a null object reference
at android.content.ContextWrapper.startService(ContextWrapper.java:591)
at com.securedoor.test.MyActivity.<init>(MyActivity.java:3)
at java.lang.Class.newInstance(Native Method)
at android.app.Instrumentation.newActivity(Instrumentation.java:1068)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2356)
... 9 more

Подскажите, пожалуйста, в чем моя ошибка?
Спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.04.2018, 12:09
Ответы с готовыми решениями:

Как после старта сервиса сообщить init-процессу об успешном/безуспешном запуске сервиса?
Нужно при после старта сервиса сообщить init-процессу о статусе запуска сервиса, т.е. успешно или с...

в чем ошибка при создание этого сервиса на андроиде?
всем привет! хотел повторить этот пример создания сервиса...

В чем может быть ошибка при вызове сервиса?
В чем может быть проблема при вызове сервиса? Изучаю service, и возник вопрос по-поводу, передачи...

Ошибка при запуске AsyncTask при нажатии на пункт ActionBar
Здравствуйте, почему при нажатии на пункт Action Bar'а вылетает ошибка? @Override public...

3
+1
345 / 178 / 53
Регистрация: 24.08.2010
Сообщений: 1,028
07.04.2018, 12:54 2
https://stackoverflow.com/ques... pplication
0
3 / 3 / 0
Регистрация: 21.01.2013
Сообщений: 220
07.04.2018, 19:42  [ТС] 3
Спасибо за ссылку!
Я немножко протупил в манифесте, ведь имя сервиса должно включать название пакета (хотя если вначале указать точку, то имя само добавится). Сделал вот так:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example2.admin.myservice">
 
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <service
            android:name="com.example2.admin.myservice.MyService"
            android:enabled="true"
            android:exported="true">
            <intent-filter>
                <action android:name="com.example2.admin.myservice.MyService"/>
            </intent-filter>
 
        </service>
    </application>
    <uses-permission android:name="android.permission.INTERNET"/>
</manifest>
А запуск со стороннего приложения делать вот так:
Java
1
2
3
Intent intent = new Intent();
    intent.setComponent(new ComponentName("com.example2.admin.myservice", "com.example2.admin.myservice.MyService"));
    startService(intent);
Но блин, опять вылетает с ошибкой(((
0
3 / 3 / 0
Регистрация: 21.01.2013
Сообщений: 220
13.04.2018, 18:56  [ТС] 4
Оказалось, проблема в том, что я запускал сервис в конструкторе, если делать в onCreate, то запускается нормально.
0
13.04.2018, 18:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.04.2018, 18:56
Помогаю со студенческими работами здесь

Ошибка при запуске
При запуске приложения выводит ошибку: &quot;В приложении &quot;Saint switcher&quot; произошла ошибка&quot; в чем...

Ошибка при запуске
Здравствуйте. Возникает ошибка при вызове getLastKnownLocation.

Ошибка при запуске VM VB
помогите пожалуйста у меня внезапно перестала запускаться оракловская виртуалка с андроидом,...

Ошибка при запуске проекта
Здравствуйте, форумчане! Столкнулся с такой проблемой в Eclipse при запуске проекта на эмуляторе: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru