可点击的TextView到OnClickListener Action_Dial杀死应用程序

时间:2016-02-04 20:21:32

标签: android android-studio textview clickable

我正在参加移动应用程序开发课程,我们正在设计一个应用程序来构建一个票务系统。在主要活动上 - 我们将有五个可点击的按钮以及一个可点击的文本,当您点击该文本时,您将转到已拨入拨号框的号码为9999999999的拨号页面。在布局中 - 我将customerCare TextView设置为clickable =" true"。每次我点击genny motion中的链接 - 它会杀死应用程序。我曾尝试在线查找资源,但所有代码似乎与我的相符。我已经尝试过Action_Call和Action_Dial。任何帮助将不胜感激......我认为这是一个小修复。提前谢谢。

import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.method.LinkMovementMethod;
import android.view.View;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

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

        TextView makeCall = (TextView) findViewById(R.id.customer_care);
        //makeCall.setMovementMethod(LinkMovementMethod.getInstance());

        findViewById(R.id.btnCreateTicket).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, CreateTicket.class);
                //Intent intent = new Intent("com.bignerdranch.android.intents.action.View");
                //intent.addCategory(Intent.CATEGORY_DEFAULT);

                //intent.putExtra(NAME_KEY, "Bob Smith");
                //intent.putExtra(AGE_KEY, (double) 25.5);

                startActivity(intent);

            }
        });

        makeCall.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent callIntent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel" + "999 999 9999"));

                startActivity(callIntent);


            }
        });
    }
}

1 个答案:

答案 0 :(得分:0)

您是否尝试检查模拟器是否具有处理此类意图的应用程序?

PackageManager packageManager = getActivity().getPackageManager();
        if (intent.resolveActivity(packageManager) != null) {
            startActivity(intent);
        }   else  {
            Log.d(TAG, "No Intent available to handle action");
        }