Я пробую следующий код для отправки сообщений в линейное приложение. Оно работает; однако перед отправкой сообщения он перейдет на страницу друзей линии, и мне нужно выбрать друзей, которым я хочу отправлять сообщения. Как мне изменить код, который я мог бы выбрать друзей в коде вместо того, чтобы вручную выбирать друзей.Использование другого приложения для отправки сообщения в строку приложения
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.
Проблема здесь в том, что вы хотите определить имя друзей в самом коде. Я имею в виду, что не обязательно, чтобы пользователь отправлял сообщение одному и тому же человеку все время. Он/она отправляет msg A человеку X и msg B лицу Y. Так что если u исправить в коде, что msg пойдет на человека X, тогда приложение станет менее полезным. Пожалуйста, поправьте меня, если я ошибаюсь. –
Вы правы, но я должен разрешить пользователям выбирать друзей, которым они хотят отправлять сообщения, в первый раз, когда они используют приложение, а когда что-то произошло, это заставит мое приложение отправлять сообщения. Пользователь слишком неудобен для выбора друзей, которым они хотят отправлять сообщения каждый раз. –
Итак, вы хотите, чтобы пользователь выбирал людей в начале сеанса. То, что я испытал с другим чат-приложением, редко бывает возможным. Но для LINE u следует пройти через документацию. U сначала нужно будет получить список друзей зарегистрированного пользователя, покажите его в приложении ur один раз и когда пользователь выберет имя, сохраните его. Передайте эти имена в намерении к LINE-приложению (но для этого вам нужно выяснить, имеет ли намерение LINE какое-то условие для этого или нет) –