如何发送&通过短信分享TextView?

时间:2015-12-18 13:02:36

标签: java android

我是Android新手。我想发送&通过短信分享TextView

我可以通过将文本放在字符串中来发送。但我无法使用TextView发送或分享该值。

我该怎么做?

这是我的代码我在做什么..

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    tv = (TextView)findViewById(R.id.textView);
    final String tv1 = tv.getText().toString();
    btn1 = (Button)findViewById(R.id.button);
    btn1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent localIntent = new Intent("android.intent.action.VIEW", Uri.parse("tel:"));
            localIntent.putExtra("sms_body", MainActivity.this.getText(Integer.parseInt(tv1)));
            localIntent.setType("vnd.android-dir/mms-sms");
            MainActivity.this.startActivity(localIntent);
        }
    });

    btn2 = (Button)findViewById(R.id.button2);
    btn2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent localIntent = new Intent("android.intent.action.SEND");
            localIntent.setType("text/plain");
            localIntent.putExtra("android.intent.extra.TEXT", R.string.app_name);
            MainActivity.this.startActivity(Intent.createChooser(localIntent, "Share SMS"));
        }
    });
}

我收到此错误...

FATAL EXCEPTION: main
                                                                Process: nextappsbd.sendshare, PID: 3521
                                                                java.lang.NumberFormatException: Invalid int: "Hello World!"
                                                                    at java.lang.Integer.invalidInt(Integer.java:137)
                                                                    at java.lang.Integer.parse(Integer.java:374)
                                                                    at java.lang.Integer.parseInt(Integer.java:365)
                                                                    at java.lang.Integer.parseInt(Integer.java:331)
                                                                    at nextappsbd.sendshare.MainActivity$1.onClick(MainActivity.java:27)
                                                                    at android.view.View.performClick(View.java:4463)
                                                                    at android.view.View$PerformClick.run(View.java:18792)
                                                                    at android.os.Handler.handleCallback(Handler.java:808)
                                                                    at android.os.Handler.dispatchMessage(Handler.java:103)
                                                                    at android.os.Looper.loop(Looper.java:193)
                                                                    at android.app.ActivityThread.main(ActivityThread.java:5344)
                                                                    at java.lang.reflect.Method.invokeNative(Native Method)
                                                                    at java.lang.reflect.Method.invoke(Method.java:515)
                                                                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
                                                                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:676)
                                                                    at dalvik.system.NativeStart.main(Native Method)

2 个答案:

答案 0 :(得分:0)

tv = (TextView)findViewById(R.id.textView);
    final String tv1 = tv.getText().toString();
    btn1 = (Button)findViewById(R.id.button);
    btn1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent localIntent = new Intent("android.intent.action.VIEW", Uri.parse("tel:"));
            localIntent.putExtra("sms_body", tv1);
            localIntent.setType("vnd.android-dir/mms-sms");
            MainActivity.this.startActivity(localIntent);
        }
    });

    btn2 = (Button)findViewById(R.id.button2);
    btn2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent localIntent = new Intent("android.intent.action.SEND");
            localIntent.setType("text/plain");
            localIntent.putExtra("android.intent.extra.TEXT", tv1);
            MainActivity.this.startActivity(Intent.createChooser(localIntent, "Share SMS"));
        }
    });
}

答案 1 :(得分:-1)

Intent message = new Intent( Intent.ACTION_VIEW, Uri.parse("sms:" + "") );
                message.putExtra( "sms_body",Textview.gettext.toString() );
                startActivity(message);

试试这个