我嘗試以下代碼發送消息到線應用程序。有用;然而,在我發送消息之前,它將移動到線路朋友頁面,並且我必須選擇我想要發送消息的朋友。我如何修改可以在代碼中選擇朋友的代碼,而不是手動選擇朋友。使用其他應用程序發送消息到線應用程序
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意向是否爲此提供了一些條款) –