0

固定番号をダイヤルする Android プロジェクトを作成しようとしています。01712364445 などの通常の番号を使用しているときに機能しています。しかし、この番号 *566# を使用していると、# が見つからない *567 にダイヤルされています。これを解決するにはどうすればよいですか? 私のコードはここにあります...

    gp = (Button) findViewById(R.id.buttongp);
    gp.setOnClickListener(listener);


    }
OnClickListener listener = new OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        Intent dialerIntent = new Intent();
        dialerIntent.setAction(Intent.ACTION_CALL);
        dialerIntent.setData(Uri.parse("tel:*566# "));

        startActivity(dialerIntent);

    }
};
4

1 に答える 1

0
Intent callIntent = new Intent(Intent.ACTION_CALL);
string pnd=uri.encode("#");     callIntent.setData(Uri.parse("tel:566 "+pnd));     startActivity(callIntent);

これを試して
、メイン関数の前にコンストラクターをグローバルにします

編集:このコードは機能します

    Button b;
    Intent callIntent = new Intent(Intent.ACTION_CALL);
    String pnd;
    @Override
    protected void onCreate(Bundle savedInstanceState)
{
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    b=(Button)findViewById(R.id.b1);

    OnClickListener ls=new OnClickListener(){

        @Override
        public void onClick(View p1)
        {
            {
                pnd=Uri.encode("#");
                callIntent.setData(Uri.parse("tel:*566 "+pnd));
                startActivity(callIntent);
            }
            // TODO: Implement this method
        }
    };
    b.setOnClickListener(ls);

    }

}

そして uri.encode(" #"); そこにポンド記号を入れて、ussd コードを取得します。手順に従って、uri.encode("#"); を連結します。

テスト済みで動作します

AIDE for Android を使用してテスト済み。これは、スマートフォンからアプリを作成する方法です。

于 2015-07-09T00:35:46.023 に答える