2014年7月22日 星期二

[Android]如何整合 Instagram

1. 透過 PackageManager檢查 Instagram package 存不存在
private boolean verificaInstagram(){
    boolean instalado = false;

    try {
        ApplicationInfo info = getPackageManager().getApplicationInfo("com.instagram.android", 0);
        instalado = true;
    } catch (NameNotFoundException e) {
        instalado = false;
    }
        return instalado;
    }
2. 透過 startActivity to start relative activity
Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
shareIntent.setType("image/*");       // 不知道有沒有 video

//以下從 MediaStore 拿圖片名字
final ContentResolver cr = getContentResolver();
final String[] p1 = new String[] {
    MediaStore.Images.ImageColumns._ID, MediaStore.Images.ImageColumns.TITLE, MediaStore.Images.ImageColumns.DATE_TAKEN
};
Cursor c1 = cr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, p1, null, null, p1[1] + " DESC");

if (c1.moveToFirst() ) {
    Log.i("Teste", "last picture (" + c1.getString(1) + ") taken on: " + new Date(c1.getLong(2)));
}

Log.i("Caminho download imagem", "file://"+Environment.getExternalStorageDirectory()+ "/Tubagram/"  + c1.getString(1) + ".png");

//以上從 MediaStore 拿圖片名字
shareIntent
.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+Environment.getExternalStorageDirectory()+ "/Tubagram/" + c1.getString(1)+".png")); shareIntent.setPackage("com.instagram.android"); c1.close(); startActivity(shareIntent);
出處:
http://stackoverflow.com/questions/16864138/how-to-send-a-photo-to-instagram-using-my-android-app