首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android USSD代码

Android USSD代码
EN

Stack Overflow用户
提问于 2016-12-30 01:56:53
回答 0查看 430关注 0票数 0

我创建了一个函数来处理ussd请求,如下所示

代码语言:javascript
复制
   public class MainActivity extends AppCompatActivity
        implements NavigationView.OnNavigationItemSelectedListener {
    private static final int RQS_PICK_CONTACT = 1;
    private static final String EXTRA_MESSAGE = "ethio";
    private static final String TAG = " " ;
    Button buttonPickContact;
    /**
     * ATTENTION: This was auto-generated to implement the App Indexing API.
     * See https://g.co/AppIndexing/AndroidStudio for more information.
     */
    private GoogleApiClient client;

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

        Button yanos = (Button) findViewById(R.id.yanos);
        TextView checkbalance = (TextView) findViewById(R.id.checkbalance);
        checkbalance.setClickable(true);





        if (yanos != null) {
            yanos.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Uri uri = Uri.parse("http://www.yanosplc.com");
                    Intent intent = new Intent(Intent.ACTION_VIEW, uri);
                    startActivity(intent);
                }
            });
        }


        final TextView pnumber = (TextView) findViewById(R.id.pnumber);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        Button checkb = (Button) findViewById(R.id.checkb);
        final Button rebal = (Button) findViewById(R.id.rebal);
        final Button transfer = (Button) findViewById(R.id.transfer);
        final Button callme = (Button) findViewById(R.id.callme);
        //final Button forme = (Button) findViewById(R.id.forme);
        //final Button foru = (Button) findViewById(R.id.foru);


        buttonPickContact = (Button) findViewById(R.id.pickcontact);
        buttonPickContact.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
                intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
                startActivityForResult(intent, 1);

            }
        });


        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();

        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
        navigationView.setNavigationItemSelectedListener(this);
        // ATTENTION: This was auto-generated to implement the App Indexing API.
        // See https://g.co/AppIndexing/AndroidStudio for more information.
        client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build();
    }
    public void checkbalance(){

        String ussd = "*804" + Uri.encode("#");
        if (ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
            // TODO: Consider calling
            //    ActivityCompat#requestPermissions
            // here to request the missing permissions, and then overriding
            //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
            //                                          int[] grantResults)
            // to handle the case where the user grants the permission. See the documentation
            // for ActivityCompat#requestPermissions for more details.
            return;
        }
        startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + ussd)));

    }

并且我的文本视图的xml布局如下

代码语言:javascript
复制
<TextView
        android:layout_width="150dp"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:drawableTop="@drawable/check"
        android:text="Check Balance"
        android:id="@+id/checkbalance"
        android:layout_row="0"
        android:layout_column="0"
        android:onClick="checkbalance"
        android:textSize="22dp" />

LogCat

代码语言:javascript
复制
java.lang.IllegalStateException: Could not find method checkbalance(View) in a parent or ancestor Context for android:onClick attribute defined on view class 
    android.support.v7.widget.AppCompatTextView with id 'checkbalance' at 
    android.support.v7.app.AppCompatViewInflater$DeclaredOnClick‌​Listener.resolveMeth‌​od(AppCompatViewInfl‌​ater.java:321) at 
    android.support.v7.app.AppCompatViewInflater$DeclaredOnClick‌​Listener.onClick(App‌​CompatViewInflater.j‌​ava:280) at android.view.View.performClick(View.java:5198)at android.view.View$PerformClick.run(View.java:21147) at 
    android.os.Handler.handleCallback(Handler.java:739) at 
    android.os.Handler.dispatchMessage(Handler.java:95) at 
    android.os.Looper.loop(Looper.java:148) at 
    android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at 
    com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(Z‌​ygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

但每当我点击文本视图时,应用程序就会崩溃。有人能帮我吗。谢谢

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41384892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档