Форум программистов, компьютерный форум CyberForum.ru

Поймать необработанное исключение и предложить пользователю отправить детали ошибки разработчику - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Theme на телефоне и в Android Studio отображается по разному http://www.cyberforum.ru/android-dev/thread1761616.html
Скрин с телефона Скрин со студии Почему разное отображение темы? Манифест <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"
Программирование Android Утечка памяти Разработал программу, получилась достаточно большая, использует сторонние библиотеки, работает без сбоев, но появилась проблема с утечкой памяти, которую не могу решить. При установке программы, её первом запуске кеш растёт до 48 Мб, а потом практически не изменяется и дальше программа работает в обычном режиме. Не могу понять откуда ноги растут. С какой стороны лучше подойти, с чего начать,... http://www.cyberforum.ru/android-dev/thread1761575.html
Программирование Android Клиент падает при запуске
Добрый день подскажите пожалуйста, где может быть ошибка. Не как не получается запустить данный код на Android при нажатие кнопки "отправить" программа падает. Но если запустить данный код в eclipse всё отлично работает. Вызов клиента в MainActivity public class MainActivity extends Activity { @Override
Анимация переходов между активити Программирование Android
Здравствуйте знатоки андроид. Уже который день не получается сделать анимацию переходов между activity. Имеется два активити: Activity_1 и Activity_2, в каждом из них есть по два фрагмента: Fragment_1(верхний) и Fragment_2(нижний) как показанно на рисунке. Мне нужно что бы анимация перехода между активити в первом случае (activity_1 -> activity_2) открывалась с центра вверх и вниз, и во втором...
Программирование Android Изменение фона активности http://www.cyberforum.ru/android-dev/thread1761167.html
Здравствуйте, посетители форума! Захотел поменять фон активности. Добавил в RelativeLayout атрибут background="@drawable/bg" - не сработало. Потом добавил ImageView: <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" android:src="@drawable/bg1" android:id="@+id/bg_view" android:focusable="false"
Программирование Android Требуется совет насчет Паскаля! У меня появилась идея -- сделать кодировщик. К примеру, если вводишь а, то выводит б или что-нибудь там по умолчанию. Я сразу предупреждаю, что я нубик, и ничего в программировании не смыслю, и понимаю, что ваше общество дилетантов не выносит, и уже слышу свист летящих в мою сторону гнилых помидоров, но всё же буду признателен, если в мне подскажете, где это лучше сделать (подозреваю в Паскале),... подробнее

Показать сообщение отдельно
AlexV1
-2 / 0 / 0
Регистрация: 05.04.2016
Сообщений: 33

Поймать необработанное исключение и предложить пользователю отправить детали ошибки разработчику - Программирование Android

13.06.2016, 15:35. Просмотров 189. Ответов 1
Метки (Все метки)

Добрый день!

Думаю не нужно объяснять зачем это мне надо, любой разработчик поймет суть задачи.

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

Сделал обертку над Application (класс назвал MyApplication), в котором назначаю обработчик необработаннхы исключений.
В моем обработчике (см.метод handleUncaughtException) я вызываю свой BugreportActivity, где написано что произошла ошибка и вопрос "Отправить текст ошибки разработчикам?", кнопки "Нет" и "Отправить".

Если юзер жмет Нет, то программа должна закрыться. Если "Отправить", то должно создаться новое письмо в почтовой программе по-умолчанию и
прописаться Кому, Тема, Тело, чтобы юзер мог убедиться что нет каких-либо личных данных и осталось только отправить.

Буду признателен вам, если подскажите почему нажав Нет окно BugreportActivity закрывается и снова открывается.
Если опять нажать Нет - тоже самое, а с 3-го раза закроется! Но при этом Android Studio зависает, приходится снимать задачу.

Реализацию постарался написать проще некуда.
Может предложите свой вариант, буду чрезмерно признателен :-)

Для реализации задуманного делаю так:

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
public class MyApplication extends Application {
 
    @Override
    public void onCreate() {        
 
        // Setup handler for uncaught exceptions.
        Thread.setDefaultUncaughtExceptionHandler (new Thread.UncaughtExceptionHandler()
        {
            @Override
            public void uncaughtException (Thread thread, Throwable e)
            {
                handleUncaughtException (thread, e);
            }
        });
 
        super.onCreate();
    }
 
    public void handleUncaughtException (Thread thread, Throwable e)
    {
        Intent intent = new Intent();
        intent.setAction ("com.example.alexv.listdemo.SEND_ERR_TO_DEVELOPERS");
        intent.setFlags (Intent.FLAG_ACTIVITY_NEW_TASK); // required when starting from Application
        startActivity (intent);
 
        System.exit(1); // kill off the crashed app
    }
}
В манифесте прописываю фильтр интента так:

XML
1
2
3
4
5
6
7
8
9
<activity android:name=".BugreportActivity">
       android:theme="@android:style/Theme.Dialog"
       android:textAppearance="@android:style/TextAppearance.Large"
       android:windowSoftInputMode="stateHidden">
       <intent-filter>
           <action android:name="com.example.alexv.listdemo.SEND_ERR_TO_DEVELOPERS" />
           <category android:name="android.intent.category.DEFAULT" />
       </intent-filter>
</activity>
Форма с предложением отправить ошибку разработчикам:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class BugreportActivity extends Activity implements View.OnClickListener {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_bugreport);
    }
 
    public void btnSendClick(View view) {
        // Отсюда потом вызову создание письма ...
        System.exit(1); // убиваем тек.процесс, т.к. приложение разрушено и оно больше не нужно
    }
 
    public void btnNoClick(View view) {
        System.exit(1); // Нет так нет, убиваем процесс
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru