Whatsapp隐含的意图不起作用

时间:2015-09-16 13:31:54

标签: image android-intent sharing implicit whatsapp

我正在尝试使用隐式意图通过whatsapp共享图像和文本,但我无法分享。我在网上搜索过但找不到任何正确的解释。我已附上以下代码。 ...代码工作没有错误。但它不与whatsapp共享内容。我搜索了谷歌和stackoverflow上的所有地方。但是没有遇到任何正确的解释

public class MainActivity extends Activity implements View.OnClickListener {
    TextView title_text,text_description;
    ImageButton main_image;
    Button button;


    private static String url = "random url ";



    private static final String TAG_ID = "title";
    private static final String TAG_IMAGE = "image_url";
    private static final String TAG_DESC = "product_desc";

    String id;
    String name;
    String image;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        text_description=(TextView)findViewById(R.id.text_description);
        title_text=(TextView)findViewById(R.id.text_title);
        main_image=(ImageButton)findViewById(R.id.image_main);
        button= (Button) findViewById(R.id.button);
        button.setOnClickListener(this);


        new GetContacts().execute();
       }

     @Override
     public void onClick(View v) {


            Toast.makeText(getApplicationContext(),"whatsappsharing",Toast.LENGTH_SHORT).show();
        Intent whatsappintent=new Intent();
        whatsappintent.setAction(Intent.ACTION_SEND);
        Uri uri= Uri.parse(TAG_IMAGE);
        whatsappintent.setType("text/plain");
        whatsappintent.putExtra(Intent.EXTRA_TEXT, "hello nathar");

        whatsappintent.setType("image/jpeg");
        whatsappintent.putExtra(Intent.EXTRA_STREAM,uri);
        whatsappintent.setPackage("com.whatsapp");
        startActivity(whatsappintent);

    }


    private class GetContacts extends AsyncTask<Void, Void, Void>
    {

         @Override
        protected void onPreExecute()
        {
            super.onPreExecute();



        }

        @Override
         protected Void doInBackground(Void... arg0) {

            ServiceHandler sh = new ServiceHandler();


            String jsonStr = sh.makeServiceCall(url, ServiceHandler.POST);

            Log.d("Response: ", "> " + jsonStr);

             if (jsonStr != null) {
                try {
                     JSONObject jsonObj = new JSONObject(jsonStr);



                        id = jsonObj.getString(TAG_ID);
                    Log.d(TAG_ID,"title");


                        name = jsonObj.getString(TAG_DESC);
                    Log.d(TAG_DESC,"name");




                      image=jsonObj.getString(TAG_IMAGE);
                    Log.d(TAG_IMAGE,"image");
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            } else {
                Log.e("ServiceHandler", "Couldn't get any data from the url");
            }

            return null;
          }

        @Override
        protected void onPostExecute(Void result) {

            super.onPostExecute(result);



            if (image!=null && !image.equalsIgnoreCase(""))
                      Picasso.with(MainActivity.this).load(image).fit().into(main_image);

        title_text.setText(id);
        text_description.setText(name);
         }

         }

         }

0 个答案:

没有答案