Как назвать whatApp намерением из другой деятельности? - PullRequest
0 голосов
/ 08 сентября 2018

Я боролся за это в течение 2 дней, кто-нибудь может дать предложение о том, как это решить?

Это моя активность в WhatsApp2 ...

public class WhatsApp2 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}
public void whatsappSend(){
    try {
        String toNumber = "xxxxxxxxxx";
        Intent sendIntent = new Intent(Intent.ACTION_SENDTO,    Uri.parse("smsto:" + "" + toNumber+ "?body=" + ""));
        sendIntent.setPackage("com.whatsapp");
        startActivity(sendIntent);
    }
    catch (Exception e){
        e.printStackTrace();
    }
  }
}

И я пытаюсь вызвать whatsappSend() с другого вида деятельности, подобного этому ...

public class MainActivity extends  AppCompatActivity {
    public WhatsApp2 whatsApp2;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 }

 public void whatsapp(View view) {
     whatsApp2 = new WhatsApp2();
     whatsApp2.whatsappSend();
  }
 }

Это Catch ошибка исключения в классе WhatsApp2:

java.lang.NullPointerException: попытка вызвать виртуальный метод 'android.app.ActivityThread $ ApplicationThread android.app.ActivityThread.getApplicationThread ()' для ссылки на пустой объект

1 Ответ

0 голосов
/ 08 сентября 2018
**Try this if you want call whatsapp method from another activity**
//MainActivity



public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main); 
        Whatspp send=new Whatspp(this);
        send.whatsappSend();
    }



}
//Whatspp Class

public class Whatspp  {
    Context _cContext;

    public Whatspp(MainActivity mainActivity) {
        _cContext=mainActivity;
    }

    void whatsappSend() {
        try {
            String toNumber = "**********";
            Intent sendIntent = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:" + "" + toNumber + "?body=" + ""));
            sendIntent.setPackage("com.whatsapp");
            _cContext.startActivity(sendIntent);
        } catch (Exception e) {
            Log.i("TAG", "whatsappSend: "+e.getMessage());
            e.printStackTrace();
        }

    }
}
...