package Ġcom . example . my lib _ test . base . controller ĊĊ Ċ import Ġjava . io . File Ċ import Ġjava . util . Calendar Ċ import Ġjava . util . Locale Ċ Ċ import Ġcom . zone . lib . Log Z SDK Ċ import Ġcom . zone . lib . base . controller . Request Code Config Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . net . Uri Ċ import Ġandroid . provider . Media Store Ċ import Ġandroid . text . format . DateFormat Ċ import Ġcom . zone . lib . utils . data . convert . Uri 2 Path Util Ċ import Ġcom . zone . lib . base . controller . activity . base . Activity Controller Ċ import Ġcom . zone . lib . base . controller . activity . base . Feature Activity Ċ Ċ abstract Ġclass ĠSystem Clip Activity Controller ( activity : ĠFeature Activity , Ġval Ġsave Folder : ĠString ) Ġ: ĠActivity Controller < Feature Activity >( activity ) Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġsave Path : ĠUri ? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġcrop Image Uri ( path : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= ĠUri . parse (" file :// /$ path ") ĊĠĠĠĠĠĠĠ Ġ// å°ı ç±³ çī¹æ®Ĭ çļĦ intent Ġaction ĊĠĠĠĠĠĠĠ Ġ// ĉ ĉ ä¸į éļ¾ çŁ¥éģĵ ï¼Į æĪĳä»¬ ä»İ çĽ¸ åĨĮ éĢī åıĸ åĽ¾çīĩ çļĦ Action ä¸º Intent . ACTION _ GET _ CONTENT ãĢĤ ĊĠĠĠĠĠĠĠ Ġ// ĉĉ ĠIntent Ġintent Ġ= Ġnew ĠIntent ( Intent . ACTION _ GET _ CONTENT , Ġnull ); ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent (" com . android . camera . action . C ROP ") ĊĠĠĠĠĠĠĠ Ġ// åı¯ä»¥ éĢīæĭ© åĽ¾çīĩ ç±»åŀĭ ï¼Į å¦Ĥæŀľ æĺ¯ * è¡¨ æĺİ æīĢæľī ç±»åŀĭçļĦ åĽ¾çīĩ ĊĠĠĠĠĠĠĠ Ġintent . setData And Type ( uri , Ġ" image /* ") ĊĠĠĠĠĠĠĠ Ġ// Ġä¸ĭ éĿ¢ è¿Ļä¸ª crop Ġ= Ġtrue æĺ¯ è®¾ç½® åľ¨ å¼ĢåĲ¯ çļĦ Intent ä¸Ń è®¾ç½® æĺ¾ç¤º çļĦ VIEW åı¯ è£ ģ åī ª ĊĠĠĠĠĠĠĠ Ġintent . putExtra (" crop ", Ġ" true ") ĊĠĠĠĠĠĠĠ Ġ// è£ ģ åī ª æĹ¶ æĺ¯åĲ¦ ä¿ĿçķĻ åĽ¾çīĩ çļĦ æ¯Ķ ä¾ĭ ï¼Į è¿ĻéĩĮ çļĦ æ¯Ķ ä¾ĭ æĺ¯ 1 : 1 ĊĠĠĠĠĠĠĠ Ġintent . putExtra (" explode ", Ġtrue ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ è¿Ļ ä¸¤ é¡¹ ä¸º è£ ģ åī ª æ¡Ĩ çļĦ æ¯Ķ ä¾ĭ . ĠĠ Ġ åĽºå®ļ æ¯Ķ çİĩ ãĢĢ ãĢĢ å°± åĲĮæĹ¶ ç¼© æĶ¾ äºĨ ãĢĤãĢĤ ãĢĤ ĊĠĠĠĠĠĠĠ Ġ// ĉĉ Ġintent . putExtra (" aspect X ", Ġ 2 ); ĊĠĠĠĠĠĠĠ Ġ// ĉĉ Ġintent . putExtra (" aspect Y ", Ġ 1 ); ĊĠĠĠĠĠĠĠ Ġ// Ġoutput X Ġoutput Y Ġæĺ¯ è£ ģ åī ª åĽ¾çīĩ å®½ é«ĺ ãĢĢ ãĢĢ å°±æĺ¯ åĽºå®ļ è£ ģ åī ª åĽ¾ çļĦ å¤§å°ı äºĨ ãĢĢ ä¸įè¦ģ åĽºå®ļ ĊĠĠĠĠĠĠĠ Ġ// ĉĉ Ġintent . putExtra (" output X ", Ġoutput X ); ĊĠĠĠĠĠĠĠ Ġ// ĉĉ Ġintent . putExtra (" output Y ", Ġoutput Y ); ĊĊĠĠĠĠĠĠĠ Ġ// æĺ¯åĲ¦ å°Ĩ æķ°æį® ä¿ĿçķĻ åľ¨ Bitmap ä¸Ń è¿ĶåĽŀ ĊĠĠĠĠĠĠĠ Ġintent . putExtra (" return - data ", Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ// è®¾ç½® è¾ĵåĩº çļĦ æł¼å¼ı ĊĠĠĠĠĠĠĠ Ġintent . putExtra (" output Format ", ĠBitmap . Compress Format . JPEG . toString ()) ĊĠĠĠĠĠĠĠ Ġintent . putExtra (" no Face Detection ", Ġtrue ) Ġ// Ġno Ġface Ġdetection ĊĊĠĠĠĠĠĠĠ Ġval Ġpic Name Ġ= ĠDate Format . format (" yyyy MM dd _ hh mm ss ", ĠCalendar . getInstance ( Locale . CH INA )). toString () Ġ+ Ġ". jpg " ĊĠĠĠĠĠĠĠ Ġval Ġsave File Ġ= ĠFile ( save Folder , Ġpic Name ) ĊĠĠĠĠĠĠĠ Ġsave Path Ġ= ĠUri . from File ( save File ) ĊĠĠĠĠĠĠĠ ĠLog Z SDK . d (" save Path ĠUri :" Ġ+ Ġsave Path !! ) ĊĠĠĠĠĠĠĠ Ġintent . putExtra ( Media Store . EXTRA _ OUTPUT , Ġsave Path )// è¾ĵåĩº åľ°åĿĢ ĊĠĠĠĠĠĠĠ ĠgetActivity ()?. startActivity For Result ( intent , ĠRequest Code Config . getRequest Code ( Request Code Config . Feature _ System Clip _ REQUEST CODE _ Clip )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġintent : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( Request Code Config . get Switch Request Code ( request Code )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRequest Code Config . Feature _ System Clip _ REQUEST CODE _ Clip Ġ-> Ġif Ġ( intent Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog Z SDK . d (" on Activity Result Ġ Ġsave Path :" Ġ+ Ġsave Path !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Returned Clip Path ( Uri 2 Path Util . get Real Path From Uri ( getActivity (), Ġsave Path )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun Ġget Returned Clip Path ( save Path : ĠString ?) Ċ } ĊĊ