app跳轉到指定app

鋸齒流沙發表於2017-12-26

你開發過程中是否遇到這樣子的需求:從當前的app跳轉到別的指定app,並且開啟指定app的某個頁面呢?如果你有這樣子的需求,那麼本文正好適合你的需求。

public class ActionActivity extends BaseActivity {

    //指定app的包名
    private static final String BKG = "";
    //app的頁面名字(class),需要帶上對映路徑
    private static final String CLASS_NAME = "";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_action);
        this.findViewById(R.id.go_action).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                PackageInfo packageInfo = Utils.getAppPackageInfo(ActionActivity.this, BKG);
                if(packageInfo != null)
                {
                    if(packageInfo.versionCode > 26)
                    {
                        openApp();
                    }
                    else
                    {
                        Toast.makeText(ActionActivity.this, "應用版本過低", Toast.LENGTH_SHORT).show();
                        goMarket();
                    }
                }
                else
                {
                    goMarket();

                }
            }
        });
    }

    /**
     * 跳轉到應用
     */
    private void openApp() {
        Intent  intent = new Intent();
        intent.setComponent(new ComponentName(BKG, CLASS_NAME));
        intent.setAction(Intent.ACTION_VIEW);
        startActivity(intent);
    }

    /**
     * 跳到應用市場下載
     */
    private void goMarket(){
        try
        {
            Uri uri = Uri.parse("market://details?id=" + BKG);
            Intent intent = new Intent(Intent.ACTION_VIEW, uri);
            startActivity(intent);
        }
        catch(ActivityNotFoundException notFoundException)
        {
            Toast.makeText(ActionActivity.this, "沒有安裝應用市場", Toast.LENGTH_SHORT).show();
            notFoundException.printStackTrace();
        }
    }
}

複製程式碼

本文內容很簡單,需要指定app的包名和頁面名(帶上對映路徑)即可,當你的手機上沒有安裝應用的時候就會跳轉到應用市場下載.如果安裝了該應用直接跳轉到頁面,邏輯實現主要看你的需求。

相關文章