項目中有時會需要啟動另外的程序來協助實現一些功能,如系統打電話會調用電話程序,打開圖片會打開圖片程序等。
讓我們來看看用代碼是如何實現這個功能的。
/** * 啟動應用 * @param context * @param packageName 包名 * @return */ public static boolean startPackage(Context context, String packageName) { final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null ); mainIntent.addCategory(Intent.CATEGORY_LAUNCHER); final List<ResolveInfo> apps = context.getPackageManager() .queryIntentActivities(mainIntent, 0 ); // final List<ResolveInfo> matches = new ArrayList<ResolveInfo>(); if (apps != null ) { // Find all activities that match the packageName int count = apps.size(); for ( int i = 0; i < count; i++ ) { final ResolveInfo resolveInfo = apps.get(i); final ActivityInfo activityInfo = resolveInfo.activityInfo; if (packageName.equals(activityInfo.packageName)) { // matches.add(resolveInfo); String className = activityInfo.name; AspLog.i(TAG, "startPackage: " + packageName + " & " + className); ComponentName cn = new ComponentName(packageName, className); final Intent it = new Intent(Intent.ACTION_MAIN); it.addCategory(Intent.CATEGORY_LAUNCHER); it.setComponent(cn); it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(it); return true ; } } } // MMToast mToast = new MMToast(activity, MMToast.LENGTH_SHORT); // mToast.setView(R.layout.login_message_panel); // mToast.setTipImage(R.drawable.login_tip_failure); // mToast.setText(R.string.open_app_error); // mToast.show(); return false ; }
?
更多的 移動互聯網的發展趨勢 、 拓者設計吧效果圖 、 移動互聯網應用 相關的資料請到 互聯網的一點事 : www.yidin.net ?留言
歡迎各位同學加入?android?技術二群 222392467?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
