dcloud應(yīng)用和安卓應(yīng)用互調(diào)并傳遞參數(shù)

以下是webAPP啟動(dòng)安卓應(yīng)用和獲取安卓應(yīng)用傳遞過來的參數(shù)

webAPP啟動(dòng)安卓APK并傳遞參數(shù)

請(qǐng)看:

function startAndroidActivity(){
  var Intent = plus.android.importClass("android.content.Intent");
  var intent = new Intent(Intent.ACTION_VIEW);
  var ComponentName = plus.android.importClass("android.content.ComponentName");
  var comp = new ComponentName("你的安卓APK的Package,在AndroidManifest.xml里面,比如yy.com.testandriodapp", "你的安卓APK啟動(dòng)控制器,比如yy.com.testandriodapp.MainActivity");
  intent.setComponent(comp);
  intent.setAction("android.intent.action.MAIN");
  intent.putExtra("參數(shù)一key", "參數(shù)一value");
  intent.putExtra("參數(shù)一key", "參數(shù)二value");
  var main = plus.android.runtimeMainActivity();
  main.startActivity(intent);
}
接收安卓數(shù)據(jù)

請(qǐng)看:

document.addEventListener('plusready', function() {
      checkArguments();
 });
// 判斷啟動(dòng)方式
 function checkArguments() {
   Intent = plus.android.importClass("android.content.Intent");
   // 程序全局環(huán)境對(duì)象,內(nèi)部自動(dòng)導(dǎo)入Activity類
   mainActivity = plus.android.runtimeMainActivity();
   intent = mainActivity.getIntent();//獲取啟動(dòng)intent
   name = intent.getStringExtra("name");//通過intent獲取參數(shù)
   birthday = intent.getStringExtra("birthday");
   alert(name);
   alert(birthday);
}
// 處理從后臺(tái)恢復(fù)
document.addEventListener('newintent', function() {
 checkArguments();
 }, false);

以下是安卓應(yīng)用獲取webAPP傳遞過來的參數(shù)和啟動(dòng)webAPP

獲取webAPP傳遞過來的參數(shù)

請(qǐng)看:

Intent intent1 = getIntent();
Bundle bundle = intent1.getExtras();
if (bundle != null) {
  String name = bundle.getString("name");
  if (name != null) {
  Toast.makeText(getApplicationContext(), "name:" + name, Toast.LENGTH_SHORT).show();
}
String birthday = bundle.getString("birthday");
  if (birthday != null) {
   Toast.makeText(getApplicationContext(), "birthday:" + birthday, Toast.LENGTH_SHORT).show();
   }
}
安卓應(yīng)用啟動(dòng)webAPP

請(qǐng)看:

Intent intent = new Intent();
// 這里如果intent為空,就說名沒有安裝要跳轉(zhuǎn)的應(yīng)用嘛
ComponentName componentName = new ComponentName("你在mainfest的->代碼視圖->google->packagename設(shè)置的包名,比如:io.dcloud.Test","這個(gè)參數(shù)是固定的,dcloud默認(rèn)都會(huì)生成這個(gè)activity名字:io.dcloud.PandoraEntryActivity");
 if (intent != null) {
   // 這里跟Activity傳遞參數(shù)一樣的嘛,不要擔(dān)心怎么傳遞參數(shù),還有接收參數(shù)也是跟Activity和Activity傳參數(shù)一樣
   intent.setComponent(componentName);
   intent.putExtra("name", "Liu xiang");
   intent.putExtra("birthday", "1983-7-13");
   startActivity(intent);
} else {
// 沒有安裝要跳轉(zhuǎn)的app應(yīng)用,提醒一下
   Toast.makeText(getApplicationContext(), "喲,趕緊下載安裝這個(gè)APP吧", Toast.LENGTH_LONG).show();
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,366評(píng)論 25 708
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,724評(píng)論 19 139
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程,因...
    小菜c閱讀 7,391評(píng)論 0 17
  • Learn-Android 本收集來源于git上,原版本地址:https://github.com/Tim9Liu...
    仕明同學(xué)閱讀 2,547評(píng)論 0 36
  • 慢慢地,我們都會(huì)變老,從起點(diǎn)走向終點(diǎn),自然而必然。成長(zhǎng)的途中,匆匆而又忙忙,跌跌而又撞撞,奔波而又小心,勞累而又費(fèi)...
    微微致誠(chéng)閱讀 423評(píng)論 0 2

友情鏈接更多精彩內(nèi)容