Гость
Форумы / Android [игнор отключен] [закрыт для гостей] / Скрыть ярлычки своего приложения / 10 сообщений из 10, страница 1 из 1
16.10.2015, 05:46
    #39078191
Скрыть ярлычки своего приложения
Добрый день.
Создаю приложение которое не должно никак взаимодействовать с пользователем. Поэтому ему не нужен ярлык. При установке и включении питания просто запускается служба и все
Как сделать так что бы приложение после установки не имело ярлычков?

спасибо.
...
Рейтинг: 0 / 0
16.10.2015, 09:09
    #39078270
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыть ярлычки своего приложения
Убрать активность из манифеста?
...
Рейтинг: 0 / 0
16.10.2015, 10:41
    #39078346
Dim666
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыть ярлычки своего приложения
wadmanУбрать активность из манифеста?Вроде начиная с какой-то версии андроида (4.x.х), если у приложения нет ни одной activity, то и broadcastlistener-ы не будут вызываться (а следовательно и службу не запустишь).
Сделано это было как раз в целях безопасности против вот таких "теневых" приложений.
...
Рейтинг: 0 / 0
16.10.2015, 11:28
    #39078409
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыть ярлычки своего приложения
Dim666Сделано это было как раз в целях безопасности против вот таких "теневых" приложений.
Согласен, уточню: плагин для тотал командера и содержание его манифеста (нет категории лянчера).
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
<Android manifest:
N: android=http://schemas.android.com/apk/res/android
  E: manifest (line=2)
    A: android:versionCode(0x0101021b)=(type 0x10)0x15
    A: android:versionName(0x0101021c)="2.0" (Raw: "2.0")
    A: android:installLocation(0x010102b7)=(type 0x10)0x0
    A: package="com.ghisler.tcplugins.FTP" (Raw: "com.ghisler.tcplugins.FTP")
    E: uses-feature (line=7)
      A: android:name(0x01010003)="android.hardware.touchscreen" (Raw: "android.hardware.touchscreen")
      A: android:required(0x0101028e)=(type 0x12)0x0
    E: supports-screens (line=8)
      A: android:anyDensity(0x0101026c)=(type 0x12)0xffffffff
      A: android:smallScreens(0x01010284)=(type 0x12)0xffffffff
      A: android:normalScreens(0x01010285)=(type 0x12)0xffffffff
      A: android:largeScreens(0x01010286)=(type 0x12)0xffffffff
    E: uses-permission (line=10)
      A: android:name(0x01010003)="android.permission.WRITE_EXTERNAL_STORAGE" (Raw: "android.permission.WRITE_EXTERNAL_STORAGE")
    E: uses-permission (line=11)
      A: android:name(0x01010003)="android.permission.INTERNET" (Raw: "android.permission.INTERNET")
    E: uses-permission (line=12)
      A: android:name(0x01010003)="android.permission.ACCESS_NETWORK_STATE" (Raw: "android.permission.ACCESS_NETWORK_STATE")
    E: uses-sdk (line=14)
      A: android:minSdkVersion(0x0101020c)=(type 0x10)0x3
      A: android:targetSdkVersion(0x01010270)=(type 0x10)0xb
    E: application (line=15)
      A: android:label(0x01010001)=@0x7f040000
      A: android:icon(0x01010002)=@0x7f020004
      E: activity (line=18)
        A: android:label(0x01010001)=@0x7f040000
        A: android:name(0x01010003)="com.android.tcplugins.FileSystem.AboutActivity" (Raw: "com.android.tcplugins.FileSystem.AboutActivity")
        A: android:excludeFromRecents(0x01010017)=(type 0x12)0xffffffff
        A: android:configChanges(0x0101001f)=(type 0x11)0x4
        E: intent-filter (line=21)
          E: action (line=22)
            A: android:name(0x01010003)="android.intent.action.MAIN" (Raw: "android.intent.action.MAIN")
          E: category (line=23)
            A: android:name(0x01010003)="android.intent.category.DEFAULT" (Raw: "android.intent.category.DEFAULT")
      E: activity (line=26)
        A: android:label(0x01010001)="ConnectActivity" (Raw: "ConnectActivity")
        A: android:name(0x01010003)="com.android.tcplugins.FileSystem.ConnectActivity" (Raw: "com.android.tcplugins.FileSystem.ConnectActivity")
        A: android:excludeFromRecents(0x01010017)=(type 0x12)0xffffffff
        A: android:configChanges(0x0101001f)=(type 0x11)0x4
        E: intent-filter (line=29)
          E: action (line=30)
            A: android:name(0x01010003)="android.intent.action.VIEW" (Raw: "android.intent.action.VIEW")
          E: category (line=31)
            A: android:name(0x01010003)="android.intent.category.DEFAULT" (Raw: "android.intent.category.DEFAULT")
      E: service (line=35)
        A: android:label(0x01010001)=@0x7f040000
        A: android:name(0x01010003)="com.android.tcplugins.FileSystem.PluginService" (Raw: "com.android.tcplugins.FileSystem.PluginService")
        E: intent-filter (line=37)
          E: action (line=38)
            A: android:name(0x01010003)="com.android.tcplugins.IPluginFunctions" (Raw: "com.android.tcplugins.IPluginFunctions")
          E: category (line=39)
            A: android:name(0x01010003)="com.android.tcplugins.PluginService" (Raw: "com.android.tcplugins.PluginService")



То есть активность есть, но у нее убран атрибут.
...
Рейтинг: 0 / 0
16.10.2015, 13:14
    #39078572
Скрыть ярлычки своего приложения
Если из манифеста удалить строчку

Код: xml
1.
<category android:name="android.intent.category.LAUNCHER" />



т.е. оставить описание формы вот так:

Код: xml
1.
2.
3.
4.
5.
6.
7.
        <activity
            android:name=".MainActivity"
            android:label="" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>



то нужный эффект достигается. иконка приложения нигде не высвечивается.
при этом служба запускает. (ее запуск прописан в app extends Application, в onCreate)

Код: java
1.
startService(new Intent(this, service.class));
...
Рейтинг: 0 / 0
16.10.2015, 13:34
    #39078594
Скрыть ярлычки своего приложения
ах нет.
получается если через USB заливать в телефон. а вот обычной установкой фигу.
приложение устанавливается. но служба не запускается. даже при ребету устройства, хотя она должна это делать. :((

блин че делать то?
...
Рейтинг: 0 / 0
16.10.2015, 13:38
    #39078596
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыть ярлычки своего приложения
Дополню про последние веяния безопасности в андроиде: пока пользователь не запустит хотя-бы раз приложение, его сервисы-автостарты не сработают.
...
Рейтинг: 0 / 0
16.10.2015, 13:51
    #39078609
Скрыть ярлычки своего приложения
если хотя бы раз то это уже хорошо.
например этот раз может быть во время установки.

тогда вот такой вопрос:
как удалить ярлычки программно?
...
Рейтинг: 0 / 0
16.10.2015, 14:27
    #39078664
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыть ярлычки своего приложения
Боровиков Степанкак удалить ярлычки программно?
Никак. Это вопрос к приложению рабочего стола, который реагирует строго на подписку на конкретные события (установка/удаление).
Оставить на ярлыке нечто вроде настроек.
...
Рейтинг: 0 / 0
19.10.2015, 10:37
    #39079814
Dim666
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыть ярлычки своего приложения
Боровиков Степанесли хотя бы раз то это уже хорошо.
например этот раз может быть во время установки.

тогда вот такой вопрос:
как удалить ярлычки программно?Попробуй задизейблить активити в момент 1-го запуска (примерно так):
Код: java
1.
2.
3.
4.
        ComponentName componentName = new ComponentName(context, YourMainActivity.class);
        PackageManager packageManager = context.getPackageManager();
        packageManager.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
                PackageManager.DONT_KILL_APP);
...
Рейтинг: 0 / 0
Форумы / Android [игнор отключен] [закрыт для гостей] / Скрыть ярлычки своего приложения / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]