更新后Android应用程序重启

时间:2014-10-14 15:52:42

标签: android xamarin application-restart

我正面临着这个问题。 我的客户必须在十个用户上分发/保存我的应用程序。他们没有为内部政策安装市场,所以我最终为新版本检查/下载维护了一个Web服务。一切正常,apk安装,但我无法在更新后重新启动应用程序。我已经尝试过(我认为)在网上找到的所有建议(首先包括在stackoverflow上找到的建议);最后一个是在清单中插入一个广播接收器,并在我的代码中构建一个静态类,但没有。 如果有人有建议,我将非常感激。 这是我的最后一个代码(我也试过没有.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 个答案:

没有答案