我正尝试使用Android Intents按钮点击Chrome(在Android上)打开位置设置。我正在关注条码扫描器示例并尝试以类似的方式对网址进行编码。 对于位置,我试过这个: -
<Page...>
<Page.Resources>
<locationofyourconverter:StatusConverter x:Key="StatusConverter" />
</Page.Resources>
...
<Ellipse Fill={Binding Status, Mode=OneWay, Converter={StaticResource StatusConverter}} />
我也尝试使用它打开设置: -
const uri = "intent://com.google.android.gms.location.settings.GOOGLE_LOCATION_SETTINGS#Intent;action=com.google.android.gms.location.settings.GOOGLE_LOCATION_SETTINGS;end"
或者
const uri = "intent://ACTION_SETTINGS#Intent;action=android.provider.Settings.ACTION_SETTINGS;end"
但似乎没有任何效果。任何帮助表示赞赏。
我使用href标签将其附加到按钮。
答案 0 :(得分:4)
因为设置活动不支持BROWSABLE
类别,因此您无法直接从Android Intents打开位置设置(有关详细信息,请查看this Dickeylth的问题和answer的Rafal Malek)。但您可以通过自定义Android应用程序100%执行此操作,Deep Links通过<category android:name="android.intent.category.BROWSABLE"/>
支持自定义活动,例如that教程。
在这种情况下,您的应用SettingsActivity
代码应该是:
public class SettingsActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
startActivityForResult(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS), 0);
}
}
和AndroidManifest.xml
部分为SettingsActivity
<activity android:name=".SettingsActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE"/>
<data
android:host="open.location.settings"
android:scheme="http"/>
</intent-filter>
</activity>
以及最后,HTML文件中SettingsActivity
的“深层”链接:
<a href="http://open.location.settings">Open Location Settings</a>
似乎,如果您不想在用户端安装应用,您也可以在Instant Apps中执行此操作。有关即时应用程序链接的详细信息,您可以找到here。