標籤:平台 putextra result ble name manifest 連絡人 rmi exce
1.調用系統的Intent.ACTION_ATTACH_DATA,該Intent會喚起所有的設定壁紙程式以及設定連絡人頭像程式,使用者可以通過ChooseActivity進行選擇:
該Intent是一個標準Intent,因此所有設定都會支援
Intent intent = new Intent(Intent.ACTION_ATTACH_DATA); intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); intent.putExtra("mimeType", "image/*"); Uri uri = Uri.parse(MediaStore.Images.Media .insertImage(getActivity().getContentResolver(), ((BitmapDrawable) wallpaper).getBitmap(), null, null)); intent.setData(uri); startActivityForResult(intent, SET_WALLPAPER);
2.通過WallpaperManager設定
該方法可以直接將圖片置為壁紙,對於所有平台的Android系統都使用,但無法裁剪/調整圖片。
try { WallpaperManager wpm = (WallpaperManager) getActivity().getSystemService( Context.WALLPAPER_SERVICE); if (wallpaper != null) { wpm.setBitmap(bitmap); Log.i("xzy", "wallpaper not null"); }} catch (IOException e) { Log.e(TAG, "Failed to set wallpaper: " + e);}
AndroidManifest.xml中需要申明許可權:
<uses-permission android:name = "android.permission.SET_WALLPAPER"/>
android 設定wallpaper