Android : restart application after update - ACTION_PACKAGE_REPLACED

后端 未结 5 1436
情歌与酒
情歌与酒 2020-12-03 10:09

My application that is not on Play Store verify on the web If there are a new version and download and start it. After the installation I would like to restart the applicati

5条回答
  •  失恋的感觉
    2020-12-03 11:04

    see this:

    How to know my Android application has been upgraded in order to reset an alarm?

    correct fix is that you use the wrong string in the manifest: http://developer.android.com/reference/android/content/Intent.html#ACTION_PACKAGE_REPLACED

    it should be "android.intent.action.PACKAGE_REPLACED" instead.


    ok , i see that what i've written is still not enough to try it out, so i will make an exception and publish a whole project just to show that it works: app code is in a package called "com.broadcast_receiver_test" . don't forget to run it before testing , or else it won't work on some android versions (i think API 11+) .

    manifest:

    
    
      
    
      
    
        
          
            
            
          
        
    
        
          
            
            
          
    
          
            
            
          
    
          
            
            
          
        
    
      
    
    

    MyBroadcastReceiver.java:

    public class MyBroadcastReceiver extends BroadcastReceiver
      {
      @Override
      public void onReceive(final Context context,final Intent intent)
        {
        final String msg="intent:"+intent+" action:"+intent.getAction();
        Log.d("DEBUG",msg);
        Toast.makeText(context,msg,Toast.LENGTH_SHORT).show();
        }
      }
    

    please just run it and see that it works perfectly .


    EDIT: if your app is for API12 and above, and only wish to handle the case of updating of your app, you can use this intent alone:

    http://developer.android.com/reference/android/content/Intent.html#ACTION_MY_PACKAGE_REPLACED

提交回复
热议问题