blitz-time アプリ開発ブログ

Androidアプリ開発などのTips集

【Androidアプリ開発】スクショした写真を検出する方法

最近のAndroid端末でよく、スクショをとると、通知バーに通知が来て、タップすると、そのスクショ写真を表示することができ、共有機能などを使って、メールに添付したりすることができますね。

そんな機能をアプリに入れたいと思いました。  

スクショした写真はMediaStoreで管理されますので、日付が一番新しい写真を検索してやればいけますね。

static public String getLatestImage(Context ctx){
    ContentResolver contentResolver = ctx.getContentResolver();
    String projection[] = {MediaStore.Images.Media._ID,MediaStore.Images.Media.DATE_TAKEN,MediaStore.Images.Media.DATA};
    Cursor cursor = contentResolver.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,projection,null,null,MediaStore.Images.Media.DATE_TAKEN+" DESC limit 1");
    String strPath = null;
    if( cursor != null && cursor.moveToFirst() ){
        strPath = "file://"+cursor.getString(2);
        cursor.close();
    }
    return strPath;
}