1. 程式人生 > >如何跳轉到其他APP(android)

如何跳轉到其他APP(android)

有很多小夥伴會遇上這樣的需求,從自己的app頁面跳轉到其他APP介面,一般情況下都是在自己的主包中跳轉到公司其他APP,或者是合作方的APP,如果手機中沒有這款APP會下載這款APP 。
今天,博主就教你們如何跳轉到其他app。不多說,直接上程式碼。

public class TiaoZhuan extends AppCompatActivity implements View.OnClickListener  {
    //首先我們必須要知道要跳轉的app的包名,每一個APP的包名都是獨立的,縱使是馬甲包和主包的包名也是不一樣的。
    //我們將要跳轉的包名填在以下位置。
    public static final String APP_PACKAGE_NAME = "com.daiba.wsjr1";
    private Button bt;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tiao_zhuan);
        //在佈局中寫一個button按鈕,在這裡初始化。
        bt = (Button) findViewById(R.id.bt_call);
        //為按鈕設定監聽
        bt.setOnClickListener(this);

    }

    @Override
    public void onClick(View v) {
    //監聽被觸發是啟動跳轉的方法。
        launchapp(this);
    }
    //跳轉頁面的方法
    private void launchapp(Context context) {
    //判斷當前手機是否有要跳入的app
        if (isAppInstalled(context,APP_PACKAGE_NAME)){
    //如果有根據包名跳轉  
          context.startActivity(context.getPackageManager().getLaunchIntentForPackage(APP_PACKAGE_NAME));
        }else{
        //如果沒有,走進入系統商店找到這款APP,提示你去下載這款APP的程式
            goToMarket(context, APP_PACKAGE_NAME);
        }
    }
//這裡是進入應用商店,下載指定APP的方法。
    private void goToMarket(Context context, String packageName) {
        Uri uri = Uri.parse("market://details?id=" + packageName);
        Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri);
        try {
            context.startActivity(goToMarket);
        } catch (Exception e) {
        }
    }
//這裡是判斷APP中是否有相應APP的方法
    private boolean isAppInstalled(Context context, String packageName) {
        try {
            context.getPackageManager().getPackageInfo(packageName,0);
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }
}

轉載地址:https://www.jianshu.com/p/31fecdbc7a5d