我想用一个按钮打电话。电话号码应该在里面。但我的代码不起作用。谁能支持?
公共类MainActivity扩展了AppCompatActivity{私人按钮;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.button);
}
public void onClickStart(View view) {
button = findViewById(R.id.button);
((Button)findViewById(R.id.button)).setOnClickListener((View.OnClickListener) v -> {
Intent callIntent = new Intent(Intent.ACTION_CALL);
String phNum = "tel:" + "89261234567";
callIntent.setData(Uri.parse(phNum));
startActivity( callIntent) ;
});
}
}
清单文件
<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.GateApp">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
您的问题是,您从未将click监听器分配给按钮,因为onClickStart从未被调用。这就是你应该怎么做
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener((View.OnClickListener) v -> {
Intent callIntent = new Intent(Intent.ACTION_CALL);
String phNum = "tel:" + "89261234567";
callIntent.setData(Uri.parse(phNum));
startActivity( callIntent) ;
});
}
通过这种方式,您可以将单击侦听器分配给按钮。在文档中,您可以找到如何使用它。
这是呼叫意图文档中的链接
只需在onClickListener中使用这两行代码:
((Button)findViewById(R.id.button)).setOnClickListener((View.OnClickListener) v -> {
String phNum = "tel:" + "89261234567";
startActivity(new Intent(Intent.ACTION_DIAL, Uri.fromParts("tel", phNum, null)));
});
我认为您可以将以下字符串添加到清单文件中<dataandroid:scheme=";电话"/>
//效果很好!
((Button(findViewById(R.id.button1((.setOnClickListener((View.OnClickListener(v->{
Intent callIntent = new Intent(Intent.ACTION_CALL);
String phNum = "tel:" + "87777777777";
callIntent.setData(Uri.parse(phNum));
startActivity(callIntent);
});