我尝试以下代码发送消息到线应用程序。有用;然而,在我发送消息之前,它将移动到线路朋友页面,并且我必须选择我想要发送消息的朋友。我如何修改可以在代码中选择朋友的代码,而不是手动选择朋友。使用其他应用程序发送消息到线应用程序
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。
这里的问题是,yu想在代码本身中定义好友的名字。我的意思是用户不会强制要求所有的时间都向同一个人发送消息。他/她向个人X发送消息A,向个人Y发送消息B.因此,如果你在代码中修复了消息将要发送给个人X的代码,那么该应用变得不那么有用。如果我错了,请纠正我。 –
你说得对,但我必须让用户在他们第一次选择他们想要发送消息的朋友时选择他们使用该应用的朋友,当发生什么事情时,它会触发我的应用发送消息。用户选择他们想要每次发送消息的朋友太不方便。 –
好的,所以你希望用户在会话开始时选择人员。我对另一个聊天应用程序的体验很少有可能。但是对于你,你应该阅读文档。 U首先需要获得登录用户的朋友列表,并在用户选择名称时保存它们。将这些名称传递给LINE应用程序的意图(但为此,您需要查看LINE意向是否为此提供了一些条款) –