編輯:關於Android編程
例如:要在app中直接分享圖片到微信、來往等,而不調用他們的sdk
直接貼代碼如下;
public void shareImage(Bitmap bitmap) { try { Uri uriToImage = Uri.parse(MediaStore.Images.Media.insertImage( mContext.getContentResolver(), bitmap, null, null)); Intent shareIntent = new Intent(); shareIntent.setAction(Intent.ACTION_SEND); shareIntent.putExtra(Intent.EXTRA_STREAM, uriToImage); shareIntent.setType("image/*"); // 遍歷所有支持發送圖片的應用。找到需要的應用 PackageManager packageManager = mContext.getPackageManager(); ListresolveInfoList = packageManager .queryIntentActivities(shareIntent, PackageManager.GET_INTENT_FILTERS); ComponentName componentName = null; for (int i = 0; i < resolveInfoList.size(); i++) { if (TextUtils.equals( resolveInfoList.get(i).activityInfo.packageName, YouNeedAppPackageName)) { componentName = new ComponentName( resolveInfoList.get(i).activityInfo.packageName, resolveInfoList.get(i).activityInfo.name); break; } } // 已安裝** if (null != componentName) { shareIntent.setComponent(componentName); mContext.startActivity(shareIntent); } else { ContextUtil.getInstance().showToastMsg("請先安裝**"); } } catch (Exception e) { ContextUtil.getInstance().showToastMsg("分享圖片到**失敗"); } }
參考的文章如下:
android設置應用程序默認值
Android中有時打開一個文件,系統會彈出一個應用程序選擇列表供你選擇.如果你把某個應用程序設為默認值,則不會彈出選擇框,而會直接調用該程序.
設置方法如下:
列入修改系統默認Launhcer但不是唯一的Launcher
PackageManager pm = getPackageManager();
IntentFilter filter = new IntentFilter();
filter.addAction("android.intent.action.MAIN");
filter.addCategory("android.intent.category.HOME");
filter.addCategory("android.intent.category.DEFAULT");
Context context = getApplicationContext();
ComponentName component = new ComponentName(context.getPackageName(), TestReplaceHomeAppActivi ty.class.getName()); ComponentName[] components = new ComponentName[] {new ComponentName("com.android.launcher", "com.android.launcher.Launcher"), component};
pm.clearPackagePreferredAct ivities("com.android.launcher"); pm.addPreferredActivity(filter, IntentFilter.MATCH_CATEGORY_EMPTY, components, component);
效果圖: .java文件有MainActivity.java、FileService.java、FileServiceTest.java, .xml文
最近老板要求在launcher界面做個自動定位,並獲取當地天氣的功能,中間走了不少彎路,我在這裡都寫下來,希望看到這篇文章的人,能少走點彎路。1、接到任務後,我首先想的是
一:Log日志工具類 一個android應用程序運行後 並不會在 ide的控制台內輸出任何信息. 不能在控制台輸出。但是android提供的Log類。 在程序中輸出日志
繼插件化後,熱補丁技術在2015年開始爆發,目前已經是非常熱門的Android開發技術。其中比較著名的有淘寶的Dexposed、支付寶的AndFix以及QZone的超級熱