it-swarm.com.de

Android-Share-Absicht für Facebook - Text und Link teilen

Ich versuche, die Android-Share-Absicht zu nutzen, um etwas auf Facebook zu posten. Es sieht aus wie das:

shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
shareIntent.setType("text/plain");
shareIntent.putExtra(Android.content.Intent.EXTRA_TEXT, "Free education for all! http://linkd.in/xU8mCc");
startActivity(shareIntent);

Mein Beitrag hat also beides - etwas Text und einen Link. Wenn die Nachricht auf Facebook gepostet wird, hat sie nur den Link und keine Nachricht. Ich habe verschiedene Extras ausprobiert, aber nichts funktioniert.

Hat sich jemand mit diesem Problem konfrontiert und es gelöst? Ich habe die Facebook-App-Version 1.8.1

Bearbeiten: Ich habe versucht, den Link zu entfernen, und die Facebook-App nimmt meine Nachricht nicht auf (zeigt eine leere Nachricht zum Versenden an), aber nicht umgekehrt. So wie es aussieht, ignoriert die App alle einfachen Textnachrichten. Ich bin erschreckt! Ist dies ein schwerwiegender Fehler in der fb-App, dass Textnachrichten überhaupt nicht veröffentlicht werden können (mit Freigabeabsicht)?

31
GreenBee

Ich habe diesen Code gerade erstellt und er funktioniert für mich:

private void shareAppLinkViaFacebook(String urlToShare) {
    try {
        Intent intent1 = new Intent();
        intent1.setClassName("com.facebook.katana", "com.facebook.katana.activity.composer.ImplicitShareIntentHandler");
        intent1.setAction("Android.intent.action.SEND");
        intent1.setType("text/plain");
        intent1.putExtra("Android.intent.extra.TEXT", urlToShare);
        startActivity(intent1);
    } catch (Exception e) {
        // If we failed (not native FB app installed), try share through SEND
        String sharerUrl = "https://www.facebook.com/sharer/sharer.php?u=" + urlToShare;
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(sharerUrl));
        startActivity(intent);
    }
}
11
MatheusJardimB

Wenn Sie die normalen Android-Freigabebedingungen verwenden, kann die Facebook-Freigabeabsicht leider nur eine einzige URL (stellen Sie sicher, dass sie http: // hat) und keine zusätzliche Textnachricht. Es ist eine seltsame Einschränkung, die keinen Sinn macht.

Sie müssen das offizielle Facebook-SDK von Facebook in Ihrem Projekt verwenden, um die volle Freigabefunktion nutzen zu können. Was ist zusätzliche Arbeit.

Ich bin auf ähnliche Probleme gestoßen. Am Ende habe ich die Absichten verzweigt. Wenn Sie sich dazu entschließen (über die reguläre Android-Freigabeabsicht) über Facebook zu teilen, erstellen Sie eine neue Freigabeabsicht, die nur die URL enthält, und drücken Sie die Option auf Facebook. Alle anderen Freigabeoptionen (Twitter, Nachricht, E-Mail) funktionieren normal.

meine Frage und Lösung sind hier:

Verzweigen Sie die Android Share Intent-Extras, je nachdem, für welche Methode sie sich entscheiden

  String shareBody = "app string text " + act_txt + " more text! Get the app at http://www.appurl.com";

PackageManager pm = view.getContext().getPackageManager();
List<ResolveInfo> activityList = pm.queryIntentActivities(sharingIntent, 0);
for(final ResolveInfo app : activityList) {
     Log.i(TAG, "app.actinfo.name: " + app.activityInfo.name);
    //if((app.activityInfo.name).contains("facebook")) {
          if("com.facebook.katana.ShareLinkActivity".equals(app.activityInfo.name)) {


        sharingIntent.putExtra(Android.content.Intent.EXTRA_TEXT, "http://www.appurl.com");
        startActivity(Intent.createChooser(sharingIntent, "Share idea"));
        break;
    } else {
        sharingIntent.putExtra(Android.content.Intent.EXTRA_SUBJECT, "app name");
        sharingIntent.putExtra(Android.content.Intent.EXTRA_TEXT, shareBody);
        startActivity(Intent.createChooser(sharingIntent, "Share"));
        break;
    }
}
6
zonabi

In Lollipop (21) können Sie Intent.EXTRA_REPLACEMENT_EXTRAS verwenden, um die Absicht bestimmter Apps zu überschreiben.

https://developer.Android.com/reference/Android/content/Intent.html#EXTRA_REPLACEMENT_EXTRAS

private void doShareLink(String text, String link) {
  Intent shareIntent = new Intent(Intent.ACTION_SEND);
  shareIntent.setType("text/plain");
  Intent chooserIntent = Intent.createChooser(shareIntent, getString(R.string.share_via));

  // for 21+, we can use EXTRA_REPLACEMENT_EXTRAS to support the specific case of Facebook
  // (only supports a link)
  // >=21: facebook=link, other=text+link
  // <=20: all=link
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Lollipop) {
    shareIntent.putExtra(Intent.EXTRA_TEXT, text + " " + link);
    Bundle facebookBundle = new Bundle();
    facebookBundle.putString(Intent.EXTRA_TEXT, link);
    Bundle replacement = new Bundle();
    replacement.putBundle("com.facebook.katana", facebookBundle);
    chooserIntent.putExtra(Intent.EXTRA_REPLACEMENT_EXTRAS, replacement);
  } else {
    shareIntent.putExtra(Intent.EXTRA_TEXT, link);
  }

  chooserIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  startActivity(chooserIntent);
}
1
Simon Reggiani

Verwenden Sie diesen Code für das Teilen von Bildern, Videos, Links und Texten auf Facebook, um perfekt zu funktionieren  

 public class Shareonwall extends AppCompatActivity
        implements NavigationView.OnNavigationItemSelectedListener {

    JSONObject response, profile_pic_data, profile_pic_url;
    TextView user_name, user_email;
    ImageView user_picture;
    NavigationView navigation_view;
    CallbackManager callbackManager;
    ShareDialog shareDialog;
    int REQUEST_CAMERA = 0, SELECT_FILE = 1;

    private static final int CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE = 200;
    private Uri fileUri;
    //   public static TextView output;

    private static final int MY_PERMISSIONS_REQUEST_CAMERA = 110;

    private static final int MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE = 222;
    private static final int MY_PERMISSIONS_REQUEST_CAMERA_VIDEO = 333;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        facebookSDKInitialize();
        setContentView(R.layout.activity_details);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        Button button = (Button) findViewById(R.id.button);
        Button imageShare = (Button) findViewById(R.id.imageShare);
        setSupportActionBar(toolbar);
        getSupportActionBar().setTitle("Home Page");

        Intent intent = getIntent();
        String jsondata = intent.getStringExtra("jsondata");

        setNavigationHeader();    // call setNavigationHeader Method.
        setUserProfile(jsondata);  // call setUserProfile Method.


        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
        drawer.setDrawerListener(toggle);
        toggle.syncState();
        shareDialog = new ShareDialog(this);  // intialize facebook shareDialog.

        navigation_view.setNavigationItemSelectedListener(this);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {


                if (ShareDialog.canShow(ShareLinkContent.class)) {
                    ShareLinkContent linkContent = new ShareLinkContent.Builder()
                            .setContentTitle("How to integrate Facebook from your app")
                            .setImageUrl(Uri.parse("http://www.devglan.com/image/dashboard.jpg"))
                            .setContentDescription(
                                    "simple Fb Image share integration")
                            .setContentUrl(Uri.parse("http://www.devglan.com/image/dashboard.jpg"))
                            .build();

                    shareDialog.show(linkContent);  // Show facebook ShareDialog
                }
            }
        });

        imageShare.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                selectImage();
            }
        });

    }

    // this method is for create a dialog box to choose options to select Image to share on facebook.
    private void selectImage() {
        final CharSequence[] items = { "Take Photo", "Choose from Library","Record Video",
                "Cancel" };

        AlertDialog.Builder builder = new AlertDialog.Builder(Shareonwall.this);
        builder.setTitle("Select profile Photo!");
        builder.setItems(items, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int item) {
                if (items[item].equals("Take Photo")) {



                    if (Build.VERSION.SDK_INT >= 23) {
                        if ((ContextCompat.checkSelfPermission(Shareonwall.this,
                                Android.Manifest.permission.WRITE_EXTERNAL_STORAGE)
                                == PackageManager.PERMISSION_GRANTED) && (ContextCompat.checkSelfPermission(Shareonwall.this,
                                Android.Manifest.permission.CAMERA)
                                == PackageManager.PERMISSION_GRANTED)) {



                            Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                            startActivityForResult(intent, REQUEST_CAMERA);


                        } else {

                            if ((ContextCompat.checkSelfPermission(Shareonwall.this,
                                    Android.Manifest.permission.WRITE_EXTERNAL_STORAGE)
                                    == PackageManager.PERMISSION_GRANTED) && (ContextCompat.checkSelfPermission(Shareonwall.this,
                                    Android.Manifest.permission.CAMERA)
                                    == PackageManager.PERMISSION_GRANTED)) {

                                Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                                startActivityForResult(intent, REQUEST_CAMERA);

                            } else {


                                ActivityCompat.requestPermissions(Shareonwall.this,
                                        new String[]{Android.Manifest.permission.WRITE_EXTERNAL_STORAGE, Android.Manifest.permission.CAMERA},
                                        MY_PERMISSIONS_REQUEST_CAMERA);
                                Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                                startActivityForResult(intent, REQUEST_CAMERA);


                            }

                        }
                    } else {

                        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                        startActivityForResult(intent, REQUEST_CAMERA);;
                    }

                }     else if (items[item].equals("Choose from Library")) {



                    if (Build.VERSION.SDK_INT >= 23) {
                        if ((ContextCompat.checkSelfPermission(Shareonwall.this,
                                Android.Manifest.permission.READ_EXTERNAL_STORAGE)
                                == PackageManager.PERMISSION_GRANTED)) {

                            Intent intent = new Intent(
                                    Intent.ACTION_PICK,
                                    Android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                            intent.setType("image/*");
                            startActivityForResult(
                                    Intent.createChooser(intent, "Select File"),
                                    SELECT_FILE);
                        } else {

                            if ((ContextCompat.checkSelfPermission(Shareonwall.this,
                                    Android.Manifest.permission.READ_EXTERNAL_STORAGE)
                                    == PackageManager.PERMISSION_GRANTED)) {


                            } else {


                                ActivityCompat.requestPermissions(Shareonwall.this,
                                        new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
                                        MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE);


                            }

                        }
                    } else {
                        Intent intent = new Intent(
                                Intent.ACTION_PICK,
                                Android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                        intent.setType("image/*");
                        startActivityForResult(
                                Intent.createChooser(intent, "Select File"),
                                SELECT_FILE);
                    }


                } if (items[item].equals("Record Video")) {


                    if (Build.VERSION.SDK_INT >= 23) {
                        if ((ContextCompat.checkSelfPermission(Shareonwall.this,
                                Android.Manifest.permission.READ_EXTERNAL_STORAGE)
                                == PackageManager.PERMISSION_GRANTED)) {

                            Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
                            if (takeVideoIntent.resolveActivity(getPackageManager()) != null) {
                                startActivityForResult(takeVideoIntent, CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE);
                            }
                        } else {

                            if ((ContextCompat.checkSelfPermission(Shareonwall.this,
                                    Android.Manifest.permission.READ_EXTERNAL_STORAGE)
                                    == PackageManager.PERMISSION_GRANTED)) {


                            } else {


                                ActivityCompat.requestPermissions(Shareonwall.this,
                                        new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
                                        MY_PERMISSIONS_REQUEST_CAMERA_VIDEO);


                            }

                        }
                    } else {
                        Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
                        if (takeVideoIntent.resolveActivity(getPackageManager()) != null) {
                            startActivityForResult(takeVideoIntent, CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE);
                        }
                    }


                } else if (items[item].equals("Cancel")) {
                    dialog.dismiss();
                }
            }
        });
        builder.show();
    }


    @Override
    protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        callbackManager.onActivityResult(requestCode, resultCode, data);

        if (resultCode == Activity.RESULT_OK) {

            if (requestCode == SELECT_FILE){

                onSelectFromGalleryResult(data);


            }

            else if (requestCode == REQUEST_CAMERA){

                onCaptureImageResult(data);

            }
            if (requestCode == CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE && resultCode == RESULT_OK) {
                //   Uri videoUri = data.getData();
                //   mVideoView.setVideoURI(videoUri);
                //  recordVideo(videoUri);
                String selectedVideoFilePath = GetFilePathFromDevice.getPath(this, data.getData());
                final byte[] datas;
                try {
                    datas = readBytes(selectedVideoFilePath,data.getData());
                    PostVideo(datas, selectedVideoFilePath);
                } catch (IOException e) {
                    e.printStackTrace();
                }

            }

        }
    }
    public byte[] readBytes(String dataPath,Uri uri) throws IOException {
        InputStream inputStream = new FileInputStream(dataPath);
        ByteArrayOutputStream byteBuffer = new ByteArrayOutputStream();
        byte[] buffer = new byte[1024];
        int len;
        while ((len = inputStream.read(buffer)) != -1) {
            byteBuffer.write(buffer, 0, len);
        }
        ShareDialogVideo(uri);
        return byteBuffer.toByteArray();
    }
    public void PostVideo(byte[] VideoBytes, String filePath) {
        String url;
        url = "/me/videos";

        AccessToken token = AccessToken.getCurrentAccessToken();
        if (token != null) {
            Bundle param = new Bundle();
            param.putByteArray("video." + getFileExt(filePath), VideoBytes);
            param.putString("description", "sample video");
            new GraphRequest(token,url, param, HttpMethod.POST, new GraphRequest.Callback() {

                public void onCompleted(GraphResponse response) {
                    Log.e("New Post", "Res =" + response.toString());
                    //  dialog.dismiss();

                    if (response != null && response.getJSONObject() != null && response.getJSONObject().has("id")) {
                        Log.e("New Post", "Success");
                        Toast.makeText(Shareonwall.this, "Video posted successfully.", Toast.LENGTH_SHORT).show();
                    } else {
                        Toast.makeText(Shareonwall.this, "Error in posting Video.", Toast.LENGTH_SHORT).show();
                    }
                    setResult(Activity.RESULT_OK, new Intent());
                    finish();
                }
            }).executeAsync();
        }
    }
    public static String getFileExt(String fileName) {
        return fileName.substring((fileName.lastIndexOf(".") + 1), fileName.length());
    }

    /**** this method used for select image From Gallery  *****/


    private void onSelectFromGalleryResult(Intent data) {
        Uri selectedImageUri = data.getData();
        String[] projection = { MediaStore.MediaColumns.DATA };
        Cursor cursor = managedQuery(selectedImageUri, projection, null, null,
                null);
        int column_index = cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DATA);
        cursor.moveToFirst();

        String selectedImagePath = cursor.getString(column_index);

        Bitmap thumbnail;
        BitmapFactory.Options options = new BitmapFactory.Options();
        options.inJustDecodeBounds = true;
        BitmapFactory.decodeFile(selectedImagePath, options);
        final int REQUIRED_SIZE = 200;
        int scale = 1;
        while (options.outWidth / scale / 2 >= REQUIRED_SIZE
                && options.outHeight / scale / 2 >= REQUIRED_SIZE)
            scale *= 2;
        options.inSampleSize = scale;
        options.inJustDecodeBounds = false;
        thumbnail = BitmapFactory.decodeFile(selectedImagePath, options);

        ShareDialog(thumbnail);
    }

    /***  this method used for take profile photo *******/

    private void onCaptureImageResult(Intent data) {
        Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
        ByteArrayOutputStream bytes = new ByteArrayOutputStream();
        thumbnail.compress(Bitmap.CompressFormat.JPEG, 90, bytes);

        File destination = new File(Environment.getExternalStorageDirectory(),
                System.currentTimeMillis() + ".jpg");

        FileOutputStream fo;
        try {
            destination.createNewFile();
            fo = new FileOutputStream(destination);
            fo.write(bytes.toByteArray());
            fo.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        ShareDialog(thumbnail);
    }



    // This method is used to share Image on facebook timeline.
    public void ShareDialog(Bitmap imagePath){

        SharePhoto photo = new SharePhoto.Builder()
                .setBitmap(imagePath)
                .setCaption("Testing")
                .build();
        SharePhotoContent content = new SharePhotoContent.Builder()
                .addPhoto(photo)
                .build();

        shareDialog.show(content);

    }
    public void ShareDialogVideo(Uri imagePath){

        ShareVideo  shareVideo = new ShareVideo.Builder()
                .setLocalUrl(imagePath)
                .build();
        ShareVideoContent content = new ShareVideoContent.Builder()
                .setVideo(shareVideo)
                .build();
        shareDialog.show(content);

    }


    // Initialize the facebook sdk and then callback manager will handle the login responses.

    protected void facebookSDKInitialize() {

        FacebookSdk.sdkInitialize(getApplicationContext());

        callbackManager = CallbackManager.Factory.create();
    }


    @Override
    public void onBackPressed() {
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        if (drawer.isDrawerOpen(GravityCompat.START)) {
            drawer.closeDrawer(GravityCompat.START);
        } else {
            super.onBackPressed();
        }
    }

    /*
        Set Navigation header by using Layout Inflater.
     */

    public void setNavigationHeader(){

        navigation_view = (NavigationView) findViewById(R.id.nav_view);

        View header = LayoutInflater.from(this).inflate(R.layout.nav_header_home, null);
        navigation_view.addHeaderView(header);

        user_name = (TextView) header.findViewById(R.id.username);
        user_picture = (ImageView) header.findViewById(R.id.profile_pic);
        user_email = (TextView) header.findViewById(R.id.email);
    }

    /*
       Set User Profile Information in Navigation Bar.
     */

    public  void  setUserProfile(String jsondata){

        try {
            response = new JSONObject(jsondata);
            user_email.setText(response.get("email").toString());
            user_name.setText(response.get("name").toString());
            profile_pic_data = new JSONObject(response.get("picture").toString());
            profile_pic_url = new JSONObject(profile_pic_data.getString("data"));

            Picasso.with(this).load(profile_pic_url.getString("url"))
                    .into(user_picture);

        } catch (Exception e){
            e.printStackTrace();
        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        //   getMenuInflater().inflate(R.menu.home, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }

    @SuppressWarnings("StatementWithEmptyBody")
    @Override
    public boolean onNavigationItemSelected(MenuItem item) {
        // Handle navigation view item clicks here.
        int id = item.getItemId();

        if (id == R.id.nav_camera) {
            // Handle the camera action
        } else if (id == R.id.nav_gallery) {

        } else if (id == R.id.nav_slideshow) {

        } else if (id == R.id.nav_manage) {

        } else if (id == R.id.nav_share) {

        } else if (id == R.id.nav_send) {

        }

        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        drawer.closeDrawer(GravityCompat.START);
        return true;
    }

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

        // Logs 'install' and 'app activate' App Events.
        AppEventsLogger.activateApp(this);
    }

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

        // Logs 'app deactivate' App Event.
        AppEventsLogger.deactivateApp(this);
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);

        switch (requestCode) {
            case MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE: {
                // If request is cancelled, the result arrays are empty.
                if (grantResults.length > 0
                        && grantResults[0] == PackageManager.PERMISSION_GRANTED) {


                    Intent intent = new Intent(
                            Intent.ACTION_PICK,
                            Android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                    intent.setType("image/*");
                    startActivityForResult(
                            Intent.createChooser(intent, "Select File"),
                            SELECT_FILE);

                } else {


                }
                return;
            }

            case MY_PERMISSIONS_REQUEST_CAMERA: {
                // If request is cancelled, the result arrays are empty.
                if (grantResults.length > 0
                        && grantResults[0] == PackageManager.PERMISSION_GRANTED && grantResults[1] == PackageManager.PERMISSION_GRANTED) {


                    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                    startActivityForResult(intent, REQUEST_CAMERA);

                } else {


                }
                return;
            }
            case MY_PERMISSIONS_REQUEST_CAMERA_VIDEO :{

                Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
                if (takeVideoIntent.resolveActivity(getPackageManager()) != null) {
                    startActivityForResult(takeVideoIntent, CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE);

                }



            }



            // other 'case' lines to check for other
            // permissions this app might request
        }
    }


}
0
sanjeev kumar

In meine App habe ich Facebook SDK integriert, damit Benutzer das Zitat [vorgefüllten Text] an ihrer Wand teilen können. Mit dem FB SDK ist dies möglich. Es funktioniert in meiner App und ich habe mehr als 5K Benutzer, die dasselbe verwenden.

Anscheinend ist dies nicht gegen die Politik von FB, da ich keine Warnung oder ein Problem hatte, bei dem dies nicht funktioniert hat.

Die Codeausschnitte für das gleiche finden Sie hier,

Gibt es bei Facebook weit verbreiteten Android-Apps, die mit vorbelegten Textfeldern geteilt werden?

0
Natarajan Raman