có một phương pháp trong mã nguồn ứng dụng Browser,:
public boolean shouldOverrideUrlLoading(WebView view, String url) { ... }
Sau một url nhấp và nó chưa bắt đầu tải:
chuyển đổi url để ý
Intent intent;
// perform generic parsing of the URI to turn it into an Intent.
try {
intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
} catch (URISyntaxException ex) {
Log.w("Browser", "Bad URI " + url + ": " + ex.getMessage());
return false;
}
nếu nó không bắt đầu bằng thị trường: // (hoặc một số lược đồ được xác định trước), hãy thử startActivityIfNeeded()
intent.addCategory(Intent.CATEGORY_BROWSABLE);
intent.setComponent(null);
try {
if (startActivityIfNeeded(intent, -1)) {
return true;
}
} catch (ActivityNotFoundException ex) {
// ignore the error. If no application can handle the URL,
// eg about:blank, assume the browser can handle it.
}
Đó là thông tin rất hữu ích! Tôi lại chơi tình hình trong một mã đơn giản:
Intent intent = Intent.parseUri("mycam://http://camcorder.com", Intent.URI_INTENT_SCHEME);
intent.addCategory(Intent.CATEGORY_BROWSABLE);
intent.setComponent(null);
System.out.println(intent);
Kết quả sẽ cung cấp manh mối cho tôi để viết một hoạt động với mục đích lọc:
<activity android:name=".MyCamActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<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:scheme="mycam" />
</intent-filter>
</activity>
PS. đừng quên android.intent.category.DEFAUL.
Cuối cùng, hoạt động của bạn có thể gọi bằng mycam: // chương trình
Vì vậy, tất cả những gì tôi phải làm là tạo bộ lọc ý định của mình? BTW, đây là liên kết thực tế mà tôi sẽ thực hiện các thử nghiệm với: http://gunitec.com.do/carlos-portes.html "Cam1" là liên kết thực tế mà tôi sẽ thử nghiệm. Tôi đã thử bộ lọc ý định và không có gì. –
Tôi kiểm tra nó tốt. bạn có thể cung cấp tệp AndroidManifest.xml không? – qrtt1
Ok, làm thế nào tôi có thể gửi cho bạn? Xin lỗi vì trả lời muộn, tôi không được thông báo rằng bạn đã viết lại. –