gpt4 book ai didi

android - autoLink phone 仅适用于已保存的号码

转载 作者:行者123 更新时间:2023-11-30 01:14:29 27 4
gpt4 key购买 nike

我正在实现电话演示,在我的演示中,我使用 autoLink = phone 生成了到 textview 的链接,但只有当我将此号码保存在我的联系人列表中时它才有效,我无法生成随机数链接..

我也尝试过 clickable= true。并应用 Linkify 类,但这也不起作用。并且还应用了 autoLink="all"它也不起作用,我不知道出了什么问题。我还在 list 中设置了权限。

这是我的代码:

            txtfromnumber = (TextView) findViewById(R.id.txtfromnumber);
int mask = Linkify.ALL;
Linkify.addLinks(txtfromnumber, mask);
txtfromname = (TextView) findViewById(R.id.txtfromname);
txtreceivernumber = (TextView) findViewById(R.id.txtreceivernumber);
int mask2 = Linkify.ALL;

txtreceivernumber.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
final Intent dialIntent = new Intent(Intent.ACTION_CALL,
Uri.parse("Tel:"+txtreceivernumber.getText().toString().trim()));
if (dialIntent.resolveActivity(context.getPackageManager()) != null) {
dialIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
dialIntent.setPackage("com.android.phone");
}else {
dialIntent.setPackage("com.android.server.telecom");
}
startActivity(dialIntent);
}
}
});

txtfromnumber.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {

final Intent dialIntent = new Intent(Intent.ACTION_DIAL,
Uri.parse("+"+txtfromnumber.getText().toString().trim()));
if (dialIntent.resolveActivity(context.getPackageManager()) != null) {
dialIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
dialIntent.setPackage("com.android.phone");
}else {
dialIntent.setPackage("com.android.server.telecom");
}
startActivity(dialIntent);
}
}
});

这是我的 xml 文件代码:

               <TextView
android:clickable="true"
android:autoLink="all"
android:id="@+id/txtreceivernumber"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:textSize="17sp" />

<TextView
android:clickable="true"
android:autoLink="all"
android:id="@+id/txtreceivernumber"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:textSize="17sp" />

这里我的接收者号码 txtview 工作正常 bcz 这个号码保存在我的联系人列表中,但是 FromNumber txtview 没有设置任何链接或任何东西。 bcz 它的随机数。

Question 2.

如何直接调用而不是打开拨号器窗口。?如果有任何帮助,我们将不胜感激。非常感谢。

Note. this question is solved. and this is the working code.

最佳答案

您不能只输入任何号码并认为它​​会被检测为电话号码,无论它是否在您的联系人中。

一个例子

如果我在我的联系人中添加 1234567890 并在启用自动链接的 TextView 中添加文本,它不会将其检测为电话号码,因为即使您将其存储在您的联系人中,android 也不会将其视为电话号码。

另一个例子

我在文本中传递了 9854856589,然后即使它不在我的联系人中,它也会将其检测为电话号码。

因此,如果可能,请添加正确的电话号码或最接近的电话号码,以便 android 将其检测为有效电话号码,并且它不一定在您的联系人中。

问题 2:

 String uri = "tel:" + yourNumber ;
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse(uri));
startActivity(intent);

添加权限

<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>

希望这会有所帮助。

关于android - autoLink phone 仅适用于已保存的号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38069117/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com