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

Список приложений с определенными package name

08.02.2019, 01:02. Показов 1287. Ответов 7

Author24 — интернет-сервис помощи студентам
Всем привет,
ломаю голову уже не первый день. Кажется, я тупой.
Нужно, чтобы просто вылетал список приложений с определенными package name. Не нужно никаких действий при нажатие на их названия, только список. Никаких action_share. Нужно как-то почистить код. Очень нужна помощь, фо рил.
Вообще, хотел запилить, чтоб показывал определенный браузеры...


Java
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import android.content.ComponentName;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.LabeledIntent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Parcelable;
import android.support.v4.internal.view.SupportMenuItem;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Html;
import android.util.Log;
import android.util.TypedValue;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.WindowManager;
import android.widget.ArrayAdapter;
import android.widget.ShareActionProvider;
import android.widget.TextView;
import android.widget.Toast;
 
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
 
public class Bomb extends AppCompatActivity {
    private static final String TAG = "Bomb";
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        setContentView(R.layout.activity_bomb);
 
        List<Intent> intentShareList = new ArrayList<Intent>();
        Intent shareIntent = new Intent();
        shareIntent.setAction(Intent.ACTION_SEND);
        shareIntent.setType("text/plain");
        List<ResolveInfo> resolveInfoList = getPackageManager().queryIntentActivities(shareIntent, 0);
 
        for (ResolveInfo resInfo : resolveInfoList) {
            String packageName = resInfo.activityInfo.packageName;
            String name = resInfo.activityInfo.name;
            Log.d(TAG, "Package Name : " + packageName);
            Log.d(TAG, "Name : " + name);
 
            if (packageName.contains("com.facebook") ||
                    packageName.contains("com.twitter.android") ||
                    packageName.contains("com.google.android.apps.plus") ||
                    packageName.contains("com.google.android.gm")) {
 
                if (name.contains("com.twitter.android.DMActivity")) {
                    continue;
                }
 
                Intent intent = new Intent();
                intent.setComponent(new ComponentName(packageName, name));
                intent.setAction(Intent.ACTION_SEND);
                intent.setType("text/plain");
                intent.putExtra(Intent.EXTRA_SUBJECT, "Your Subject");
                intent.putExtra(Intent.EXTRA_TEXT, "Your Content");
                intentShareList.add(intent);
            }
        }
 
        if (intentShareList.isEmpty()) {
            Toast.makeText(Bomb.this, "No apps to share !", Toast.LENGTH_SHORT).show();
        } else {
            Intent chooserIntent = Intent.createChooser(intentShareList.remove(0), "Share via");
            chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, intentShareList.toArray(new Parcelable[]{}));
            startActivity(chooserIntent);
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.02.2019, 01:02
Ответы с готовыми решениями:

Получить список div-ов с определенными названиями классов
Фрмучане, как получить такой массив: washing-one-small washing-one-small-free 6 кг...

Считать из файла список студентов с определенными оценками
У меня есть файл где написаны Ф.И.О студентов и оценка за екзамен, мне нужно что бы выводило...

Выпадающий список с определенными значениями, которые будут подставляться в ячейку.
Задача такая - сделать выпадающий список с определенными значениями, которые будут подставляться в...

Список запущенных приложений
задача в следующем: имеется форма, на форме помимо прочих контролов расположен DataGridView, нужно...

7
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
08.02.2019, 10:49 2
Ilja2210, почистить код? Проблемы какие?
1
0 / 0 / 0
Регистрация: 08.02.2019
Сообщений: 5
08.02.2019, 12:25  [ТС] 3
Простите, я не правильно выразился.
Сейчас activity показывает диалоговое окно (или типа того) с имеющимеся соц сетями (фейсбук и твиттер). Их он ищет по заданным package name. А я хочу адаптировать функцию под поиск некоторого колличества определенных браузеров. Причем, чтоб показывал эти браузеры, их иконки и нейминг (как сейчас с соц сетями), но при нажатии на них чтоб ничего не происходило.
Я пытался из этого кода со stackoverow убрать лишние share_intent, action_share, но при всей этой чистке активность ничего уже не ищет.
Короче, пытаюсь сделать поиск по приложениям. Нужно хоть в каком-то виде. Хотел, чтоб при надичии хоть какого-то браузера из моего списка он показываел его в list, а если ничего не находит, то показывает textview типа Ничего не найдено.
0
0 / 0 / 0
Регистрация: 08.02.2019
Сообщений: 5
09.02.2019, 01:00  [ТС] 4
jaman_smk, жутко торможу. Забыл в ответе ник указать :-)
0
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
09.02.2019, 07:39 5
Ilja2210, попробуй https://stackoverflow.com/ques... oid-mobile
0
0 / 0 / 0
Регистрация: 08.02.2019
Сообщений: 5
09.02.2019, 10:00  [ТС] 6
Код
jaman_smk
, да понятно, что надо pm использовать. Да вот чет не работает ни один вариант. А тут я скинул то, что хоть что-то показывает (пусть и с функцией share). По вашей ссылке предлагают вариант для action_view - этого тоже не надо, у меня не будет показов url, надо только список (если хоть одно приложение из запрашиваемых package name найдено) или надпись not found. Но stackoverflow продолжаю мониторить

Добавлено через 6 минут
теперь пишу неправильные теги))
0
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
09.02.2019, 10:11 7
Ilja2210, как вариант, можешь найти лаунчер опен сорсный (на GitHub, например), там посмотреть аналогичные реализации (если имеются).
0
0 / 0 / 0
Регистрация: 08.02.2019
Сообщений: 5
09.02.2019, 11:09  [ТС] 8
jaman_smk, да, видимо, придется. Просто думал, может у кого есть готовый варинт, может кто-то уже заморачивался с этим

Добавлено через 52 минуты
Что-то мне подсказывает, что нужен pm, dialog и app chooser
0
09.02.2019, 11:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.02.2019, 11:09
Помогаю со студенческими работами здесь

Список запущенных приложений Windows
Всем доброго времени суток :) Таким образом я вывожу PID всех процессов в мемо, скажите, как...

Получить список установленных приложений
Как получить список установленных приложений? Нашел в гугле много, но ни один вариант не работает!...

Как получить список запущенных приложений
Здравствуйте. Подскажите пожалуйста, как получить список запущенных приложений? Попросту хочу...

Как получить список запущенных приложений
Нужно получить список запущенных приложений... Среда - Microsoft Visual Studio 2010Перенесено из...


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

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