有很多小伙伴會(huì)遇上這樣的需求魏铅,從自己的app頁(yè)面跳轉(zhuǎn)到其他APP界面所袁,一般情況下都是在自己的主包中跳轉(zhuǎn)到公司其他APP父泳,或者是合作方的APP止潮,如果手機(jī)中沒(méi)有這款A(yù)PP會(huì)下載這款A(yù)PP 窃判。
今天,博主就教你們?nèi)绾翁D(zhuǎn)到其他app喇闸。不多說(shuō)袄琳,直接上代碼询件。
public class TiaoZhuan extends AppCompatActivity implements View.OnClickListener {
//首先我們必須要知道要跳轉(zhuǎn)的app的包名,每一個(gè)APP的包名都是獨(dú)立的唆樊,縱使是馬甲包和主包的包名也是不一樣的宛琅。
//我們將要跳轉(zhuǎn)的包名填在以下位置。
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);
//在布局中寫(xiě)一個(gè)button按鈕逗旁,在這里初始化嘿辟。
bt = (Button) findViewById(R.id.bt_call);
//為按鈕設(shè)置監(jiān)聽(tīng)
bt.setOnClickListener(this);
}
@Override
public void onClick(View v) {
//監(jiān)聽(tīng)被觸發(fā)是啟動(dòng)跳轉(zhuǎn)的方法。
launchapp(this);
}
//跳轉(zhuǎn)頁(yè)面的方法
private void launchapp(Context context) {
//判斷當(dāng)前手機(jī)是否有要跳入的app
if (isAppInstalled(context,APP_PACKAGE_NAME)){
//如果有根據(jù)包名跳轉(zhuǎn)
context.startActivity(context.getPackageManager().getLaunchIntentForPackage(APP_PACKAGE_NAME));
}else{
//如果沒(méi)有片效,走進(jìn)入系統(tǒng)商店找到這款A(yù)PP红伦,提示你去下載這款A(yù)PP的程序
goToMarket(context, APP_PACKAGE_NAME);
}
}
//這里是進(jìn)入應(yīng)用商店,下載指定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中是否有相應(yīng)APP的方法
private boolean isAppInstalled(Context context, String packageName) {
try {
context.getPackageManager().getPackageInfo(packageName,0);
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
}
也會(huì)有小伙伴問(wèn)道如果應(yīng)用商店沒(méi)有要下載的APP怎么辦昙读,博主會(huì)在下一篇博客中講解直接從自己家服務(wù)器中下載apk,并安裝的方法膨桥。