2013年12月18日 星期三

[Android] 在APP 裡面呼叫Line APP

Line跟facebook一樣在安裝了 Line/Facebook app後,
可以簡單的利用startActivity來進行一些簡單的PO文動作, 也就是藉由他本身的
app去執行api。
相反來說, 若是想利用自己的app去發request 就要去add naver/facebook 的library, 這樣能做到的事更多, 但是較為麻煩。
這邊將介紹如何透過簡單的方式來PO文到line上

//判斷是否安裝了line
private boolean checkLineInstalled(){
PackageManager pm = getPackageManager();
m_appList = pm.getInstalledApplications(0);
boolean lineInstallFlag = false;
for (ApplicationInfo ai : m_appList) {
if(ai.packageName.equals(PACKAGE_NAME)){
lineInstallFlag = true;
break;
}
}
return lineInstallFlag;
}

//PO文字
public static final String PACKAGE_NAME = "jp.naver.line.android";
public static final String CLASS_NAME = "jp.naver.line.android.activity.selectchat.SelectChatActivity";
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setClassName(PACKAGE_NAME, CLASS_NAME);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, sendText);
startActivity(intent);

//PO圖片
String fname = "send_image.jpg";
String fileFullPath = Environment.getExternalStorageDirectory().getAbsolutePath()
+ File.separator + fname;

Uri uri = Uri.fromFile(new File(fileFullPath));
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setClassName(PACKAGE_NAME, CLASS_NAME);
intent.setType("image/jpeg");
intent.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(intent);

Reference: https://gist.github.com/ekos/3993270

帶出所以有可以share的app
Reference:http://orgcent.com/android-app-intent-share-list/

1 則留言:

  1. 請問能share video 嗎

    String PACKAGE_NAME = "jp.naver.line.android";
    String CLASS_NAME = "jp.naver.line.android.activity.selectchat.SelectChatActivity";
    Intent intent = new Intent(Intent.ACTION_SEND);
    intent.setClassName(PACKAGE_NAME, CLASS_NAME);
    intent.setType("video/mp4");
    intent.putExtra(Intent.EXTRA_STREAM, Uri.parse(CameraHelper.GetVideoFilePath()));
    //intent.putExtra(Intent.EXTRA_STREAM, 影片路徑);
    intent.putExtra(Intent.EXTRA_TEXT, "Enjoy the Video");
    startActivity(intent);

    LINE 畫面 錯誤

    回覆刪除