Приложение Android перезагружается после обновления

Я сталкиваюсь с этой проблемой. У меня есть клиент, который должен распространять / обслуживать мое приложение на десять пользователей. У них не установлен Маркет для внутренней политики, поэтому я закончил обслуживать веб-сервис для проверки / загрузки новых версий. Все отлично работает, apk устанавливается, но я не могу перезапустить приложение после обновления. Я перепробовал (я думаю) все предложения, найденные в сети (в первую очередь те, которые были найдены здесь в stackru); последний вставлял широковещательный приемник в манифест и создавал статический класс в моем коде, но ничего. Если кому-то есть что предложить, я буду очень признателен. Вот мой последний код (я пробовал также без.PACKAGE_REPLACED):

<receiver android:name="tecnici.UpdaterBroadcastReceiver" android:enabled="true">
    <intent-filter>
        <action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
        <data android:scheme="package" />
    </intent-filter>
    <intent-filter>
        <action android:name="android.intent.action.PACKAGE_REPLACED" />
        <data android:scheme="package" />
    </intent-filter>
</receiver>

Внутри моего кода:

namespace tecnici
{
    public class UpdaterBroadcastReceiver : BroadcastReceiver
    {
        public override void OnReceive(Context context, Intent intent)
        {
            try
            {
                PackageInfo _info = context.PackageManager.GetPackageInfo(InternalPackage.ApplicationPackage, 0);

               clStaticCommon.SetSystemInfo(context,null,null,null,SyncTheme.Undefined,false);
                clStaticCommon.WriteLog(new string[]{ "UpdateBroadcastReceiver", "Applicazione aggiornata", "Version code : " + _info.VersionCode.ToString(), "Version name : " + _info.VersionName });
                clStaticCommon.ClearSystemInfo();
            }
            catch
            {
            }

            Intent _main = new Intent(context,typeof(MainActivity));

            _main.AddFlags(ActivityFlags.NewTask);
            context.StartActivity(_main);
        }
    }

Код внутри try / catch служит только для записи некоторых строк в моем внутреннем журнале.

Благодарю. Родольфо.

0 ответов

Другие вопросы по тегам