使用其他应用向在线应用

时间:2016-06-10 10:39:52

标签: android

我尝试使用以下代码将消息发送到线路应用。有用;然而,在我发送消息之前,它将移动到朋友页面行,我必须选择我想要发送消息的朋友。如何修改我可以在代码中选择朋友的代码,而不是手动选择朋友。

public class MainActivity extends AppCompatActivity {

static final int REQUEST_ACTION_PICK = 1;
public static final String PACKAGE_NAME = "jp.naver.line.android";
public static final String CLASS_NAME = "jp.naver.line.android.activity.selectchat.SelectChatActivity";
private List<ApplicationInfo> m_appList;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    sendTextHandler(this);
}


public void sendTextHandler(MainActivity view) {
    String sendText = ((TextView)findViewById(R.id.send_text)).getText().toString();
    if(checkLineInstalled()){
        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);
    }else{
        Toast toast = Toast.makeText(this, "LINEがインストールされていません", Toast.LENGTH_SHORT);
        toast.show();
    }
}
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;
}

}

代码来自https://gist.github.com/ekos/3993270

1 个答案:

答案 0 :(得分:0)

如果您希望能够根据ID打开特定用户,可以执行以下操作:

Z

如果您想发消息,然后可以选择将其发送给您,可以使用以下内容:

String userId = findUserId();
String sendText = "line://ti/p/~" + userId;
Intent intent = null;
try {
    intent = Intent.parseUri(sendText, Intent.URI_INTENT_SCHEME);
} catch (URISyntaxException e) {
    e.printStackTrace();
}
startActivity(intent);