关闭当前应用程序并启动Play商店的所有活动

问题描述:

是否有可能在栈上启动隐活动,由之前清除全部历史?关闭当前应用程序并启动Play商店的所有活动

我创建具有力的提升,从playsotre概念的应用。 因此我想打开Play商店在某个时刻和同一时刻我也想关闭我的应用程序基本上我想打开Play商店后清除我的应用程序的所有活动,但它没有工作。

我的代码剪断:

btnForceUpdate.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent goToMarket = new Intent(Intent.ACTION_VIEW) 
         .setData(Uri.parse("market://details?id=" + context.getPackageName())); 
       goToMarket.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK); // clearing all activity task (Basically close the app) 
       mDialog.cancel(); 
       context.startActivity(goToMarket); 
      } 
     }); 

我使用以下标志意图的对象,但它没有工作

goToMarket.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK); // clearing all activity task (Basically close the app) 
+0

你能告诉我什么情况目前我认为这将启动谷歌Play商店,但并不清楚当前活动 – PankajAndroid

+0

@PankajAndroid,是的是正确的就开打店,但没有清除我的应用程序活动栈 –

+1

尝试{ 最终意向书I =新意图(智力ent.ACTION_VIEW,Uri.parse(“market:// details?id =”+ getPackageName())); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); finishAffinity(); startActivity(i); (最终android.content.ActivityNotFoundException前){ ex.printStackTrace(); } – Dhina

try { 

     final Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + getPackageName())); 
     i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     finishAffinity(); 
     startActivity(i); // 

    } catch (final android.content.ActivityNotFoundException ex) { 
     ex.printStackTrace(); 
    } 

或者,如果你希望它在以前版本的Android(< 15 API)工作:

ActivityCompat.finishAffinity(this); 

您需要与开始一个活动谷歌玩像下面

public class CloseActivity extends Activity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    setContentView(R.layout.activity_settings); 

    final String appPackageName = getPackageName(); 
    try { 
     startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName))); 
     finish(); 
    } catch (android.content.ActivityNotFoundException anfe) { 
     startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + appPackageName))); 
     finish(); 
    } 
} 

}

需要从类下面的代码开始本次活动:

Intent mIntent = new Intent(CurrentActivity.this,CloseActivity.class); 
mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); 
startActivity(mIntent); 
finish(); 
+0

这可能是一个解决方案,但我不知道未来哪个将成为CurrentActivity。 –

+0

CurrentActivity是从现在开始Google Play应用程序的活动。你需要让我有能力用xml提一个单一的活动现在你需要启动该活动,它将启动谷歌播放和关闭您的应用程序 – PankajAndroid

+0

告诉我从那里你开始这个意图goToMarket =新意图(意图的活动名称。 ACTION_VIEW) .setData(Uri.parse(“market:// details?id =”+ context.getPackageName())); – PankajAndroid