2 回答
TA贡献1848条经验 获得超6个赞
您可以使用DeepLinks来处理特定URL的 s。为此,您应该引入一个Activity作为特定模式的处理程序URL。因此,当用户单击特定模式链接时,Activity可以选择您作为其处理程序,然后您可以打开电话设置。这是这个想法的一个实现:
清单.xml
<activity android:name=".MyTransientActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- Accepts URIs that begin with "http://somesite.com" -->
<data android:host="somesite.com" />
<data android:scheme="http" />
</intent-filter>
</activity>
MyTransientActivity.java
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
public class MyTransientActivity extends AppCompatActivity {
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getIntent() != null) {
String action = getIntent().getAction();
if (action != null && action.equals(Intent.ACTION_VIEW)) {
Intent settingsIntent = new Intent(android.provider.Settings.ACTION_SETTINGS);
settingsIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplicationContext().startActivity(settingsIntent);
}
}
finish();
}
}
测试:
TextView textview = findViewById(R.id.textView);
textview.setText(getString(R.string.my_link));
Linkify.addLinks(textview, Linkify.WEB_URLS);
textview.setMovementMethod(LinkMovementMethod.getInstance());
TA贡献1847条经验 获得超7个赞
因为我知道你不能这样发送,你应该像这样添加它:
<string name="my_link">http://somesite.com/</string>
要发送意图,您必须像这样发送它:
String url = this.getResources().getString(R.string.my_link);
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
这将使用您发送的链接打开您的安卓浏览器。我希望这很有用。:)
添加回答
举报
