// µ¼Èë°ü
importClass(Packages.android.content.Intent);
importClass(Packages.android.net.Uri);
importClass(Packages.android.content.ActivityNotFoundException);
importClass(Packages.android.widget.Toast);
importClass(Packages.android.os.Handler);
importClass(Packages.android.os.Looper);
// ÉèÖþ©¶«Óû§Ò³ÃæµÄURL
var userId = "¾©¶«Óû§ID"; // ÇëÌæ»»ÎªÊµ¼ÊÓû§ID
var url = "openapp.jdmobile://virtual?params={\"category\":\"jump\",\"des\":\"M\",\"url\":\"https://home.m.jd.com/myJd/home.action\",\"sourceValue\":\"404\"}";
try {
// ʹÓð²×¿intentÌø×ª
var intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
} catch (e) {
if (e.toString().indexOf("android.content.ActivityNotFoundException") !== -1) {
// ÌáʾÓû§°²×°¾©¶«Ó¦ÓûòÌá¹©ÍøÒ³Á´½Ó
showToast("δÕÒµ½¾©¶«Ó¦Óã¬ÇëÈ·±£ÒѰ²×°¡£");
var webUrl = "https://home.m.jd.com/myJd/home.action"; // Ìæ»»ÎªÊµ¼ÊµÄÓû§ÍøÒ³Á´½Ó
var webIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(webUrl));
webIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(webIntent);
} else {
showToast("·¢Éú´íÎó: " + e.message);
}
}
// ×Ô¶¨ÒåshowToast·½·¨
function showToast(message) {
new Handler(Looper.getMainLooper()).post(function() {
Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
});
}
ÒÔÏÂÊǶÔÄãÌṩµÄ´úÂëÖðÐнâÊÍ£º
// µ¼Èë°ü
importClass(Packages.android.content.Intent);
importClass(Packages.android.net.Uri);
importClass(Packages.android.content.ActivityNotFoundException);
importClass(Packages.android.widget.Toast);
importClass(Packages.android.os.Handler);
importClass(Packages.android.os.Looper);
ÕâÐдúÂëµÄ×÷ÓÃÊǵ¼ÈëAndroid¿ª·¢ÖÐÐèÒªÓõ½µÄһЩÀ࣬°üÀ¨Intent¡¢Uri¡¢ActivityNotFoundException¡¢Toast¡¢HandlerºÍLooper¡£ÕâЩÀàÓÃÓÚ´¦ÀíÓ¦ÓüäµÄÌø×ª¡¢ÏÔʾÏûÏ¢µÈ²Ù×÷¡£
// ÉèÖþ©¶«Óû§Ò³ÃæµÄURL
var userId = "¾©¶«Óû§ID"; // ÇëÌæ»»ÎªÊµ¼ÊÓû§ID
var url = "openapp.jdmobile://virtual?params={\"category\":\"jump\",\"des\":\"M\",\"url\":\"https://home.m.jd.com/myJd/home.action\",\"sourceValue\":\"404\"}";
ÕâÀﶨÒåÁËÒ»¸ö±äÁ¿userId£¬ÓÃÓÚ´æ´¢¾©¶«µÄÓû§ID¡£×¢Ò⣬ÄãÐèÒª½«¾©¶«Óû§IDÌæ»»ÎªÊµ¼ÊµÄ¾©¶«Óû§ID¡£ÏÂÃæ¶¨ÒåÁËÒ»¸ö±äÁ¿url£¬´æ´¢ÁËͨ¹ý¾©¶«Ó¦Óôò¿ªÌض¨Óû§Ò³ÃæµÄURL¡£
try {
// ʹÓð²×¿intentÌø×ª
var intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
} catch (e) {
Õâ¶Î´úÂë³¢ÊÔ´´½¨Ò»¸öIntent¶ÔÏ󣬸öÔÏóÓÃÓÚָʾϵͳִÐÐij¸ö²Ù×÷£¨ÕâÀïÊÇͨ¹ýURL´ò¿ª¾©¶«Ó¦ÓÃÖеÄÌØ¶¨Ò³Ã棩¡£Intent.ACTION_VIEW±íʾ²é¿´Ä³¸öÊý¾Ý¡£Uri.parse(url)½«URL×Ö·û´®½âÎöΪUri¶ÔÏó¡£intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)ÉèÖñê־λ£¬Ê¹µÃÕâ¸öIntent¿ÉÒÔÆô¶¯Ò»¸öеÄÈÎÎñ£¬ÕâÑù¼´Ê¹µ±Ç°Ó¦Óò»ÔÚǰ̨£¬Ò²¿ÉÒԳɹ¦Ìø×ª¡£context.startActivity(intent)ÓÃÓÚÆô¶¯Õâ¸öIntent¡£Èç¹ûÌø×ª¹ý³ÌÖгöÏÖÎÊÌ⣬»á½øÈëcatch¿é¡£
if (e.toString().indexOf("android.content.ActivityNotFoundException") !== -1) {
// ÌáʾÓû§°²×°¾©¶«Ó¦ÓûòÌá¹©ÍøÒ³Á´½Ó
showToast("δÕÒµ½¾©¶«Ó¦Óã¬ÇëÈ·±£ÒѰ²×°¡£");
var webUrl = "https://home.m.jd.com/myJd/home.action"; // Ìæ»»ÎªÊµ¼ÊµÄÓû§ÍøÒ³Á´½Ó
var webIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(webUrl));
webIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(webIntent);
Èç¹û²¶»ñµ½Òì³££¬²¢ÇÒ¸ÃÒì³£ÊÇActivityNotFoundException£¬¼´ÏµÍ³ÕÒ²»µ½¾©¶«Ó¦Ó㬾ͻáÖ´ÐÐÕâÀïµÄ´úÂë¡£Ê×Ïȵ÷ÓÃ×Ô¶¨ÒåµÄshowToast·½·¨ÌáʾÓû§¾©¶«Ó¦ÓÃδ°²×°¡£È»ºó¶¨ÒåÁËÒ»¸öÍøÒ³°æµÄÓû§Ö÷Ò³URL£¨webUrl£©£¬´´½¨Ò»¸öеÄIntent¶ÔÏówebIntentÓÃÓÚ´ò¿ªÕâ¸öÍøÒ³£¬Í¬ÑùÉèÖÃÁËFLAG_ACTIVITY_NEW_TASK±ê־룬×îºóͨ¹ýcontext.startActivity(webIntent)Æô¶¯Õâ¸öIntent£¬´ò¿ªÍøÒ³¡£
} else {
showToast("·¢Éú´íÎó: " + e.message);
}
}
Èç¹û²¶»ñµ½µÄ²»ÊÇActivityNotFoundException£¬ÄÇô»áÖ´ÐÐÕâÀïµÄ´úÂ룬µ÷ÓÃshowToast·½·¨ÏÔʾ²¶»ñµ½µÄÒì³£ÐÅÏ¢¡£