2017-09-07 54 views
8

Tôi đang cố gắng mở cài đặt vị trí từ Chrome (trên Android) bằng cách nhấp vào nút sử dụng Android Intents. Tôi đang làm theo ví dụ về Máy quét mã vạch và đã thử mã hóa url theo cách tương tự. Đối với vị trí Tôi đã thử này: -Mở cài đặt vị trí Hoạt động từ Chrome trên Android

const uri = "intent://com.google.android.gms.location.settings.GOOGLE_LOCATION_SETTINGS#Intent;action=com.google.android.gms.location.settings.GOOGLE_LOCATION_SETTINGS;end" 

Tôi cũng đã cố gắng mở các thiết lập sử dụng này: -

const uri = "intent://ACTION_SETTINGS#Intent;action=android.provider.Settings.ACTION_SETTINGS;end" 

hay này

const uri = "intent://android.provider.Settings.ACTION_SETTINGS#Intent;action=android.provider.Settings.ACTION_SETTINGS;end" 

Nhưng không có gì có vẻ làm việc. Bất kỳ trợ giúp được đánh giá cao.

Tôi đang gắn nó vào một nút bằng cách sử dụng thẻ href.

Trả lời

3

Có vẻ bạn không thể mở Cài đặt vị trí trực tiếp từ Intents với Chrome Android vì Cài đặt hoạt động không hỗ trợ BROWSABLE loại (để biết chi tiết hãy xem this câu hỏi của Dickeylthanswer của Rafal Malek). Nhưng Bạn có thể 100% thực hiện việc này thông qua ứng dụng Android tùy chỉnh và Deep Links hoạt động tùy chỉnh với hỗ trợ <category android:name="android.intent.category.BROWSABLE"/>, như trong hướng dẫn that.

Trong trường hợp đó mã ứng dụng SettingsActivity của bạn nên được như:

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 phần cho 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> 

và, cuối cùng, liên kết "sâu" cho SettingsActivity trong tập tin HTML:

<a href="http://open.location.settings">Open Location Settings</a> 

Có vẻ, nếu bạn d không muốn cài đặt ứng dụng ở phía người dùng, bạn cũng có thể thực hiện việc này trong Instant Apps. Chi tiết cho các liên kết đến Ứng dụng tức thì, bạn có thể tìm thấy here.

+0

Trường hợp sử dụng của tôi là dành cho một số mẫu khảo sát/thu thập dữ liệu, không có ứng dụng nào liên quan đến việc tôi có thể liên kết sâu. Dù sao, khi nhìn thấy câu trả lời bạn đã đề cập, tôi cũng nghĩ rằng nó sẽ không thể. Cảm ơn. – deepankar

+0

@deepankar Trong trường hợp này, bạn có thể sử dụng [Ứng dụng tức thì] (https://developer.android.com/topic/instant-apps/index.html). –

+0

Có các ứng dụng tức thì có vẻ là lựa chọn thay thế tốt, nhưng chúng chỉ hoạt động trên Android 6.0 trở lên. Rất nhiều thiết bị thuộc loại thấp hơn. – deepankar

Các vấn đề liên quan