Android 从 link 下载文件
Android Download file from a link
在我为 Android 应用程序实施 post 到 Web 服务器的解决方案并验证 Google 订单之后,然后发出下载 link。现在我正在尝试为应用程序编写代码以从 thankyou.php 页面
读取 link
<a href="http://domain.com/218348214.dat">Download File</a>
该文件是“.DAT”扩展名,来自某个link。应用程序应在新页面中检索 link 并让客户下载文件。
在您的清单文件中,您需要添加一个 intent 过滤器:
<activity
android:name="Downloader">
<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="domain.com"
android:scheme="http" />
</intent-filter>
</activity>
然后在 "Download" activity 的 onCreate 中:
public class Download extends Activity {
private String filename;
@Override
protected void onCreate (final Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
setContentView(<your layout file>);
final Intent intent = getIntent ();
final Uri data = intent.getData ();
if (data != null) {
final List<String> pathSegments = data.getPathSegments ();
fileName = pathSegments.get (pathSegments.size () - 1);
}
}
然后在下载按钮的点击处理程序中,您可以使用视图意图来充当 android 中的 link。
button.setOnClickListener (new View.OnClickListener () {
@Override public void onClick (final View v) {
Uri intentUri = Uri.parse("http://domain.com/" + filename);
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(intentUri);
startActivity(intent);
}
});
在我为 Android 应用程序实施 post 到 Web 服务器的解决方案并验证 Google 订单之后,然后发出下载 link。现在我正在尝试为应用程序编写代码以从 thankyou.php 页面
读取 link<a href="http://domain.com/218348214.dat">Download File</a>
该文件是“.DAT”扩展名,来自某个link。应用程序应在新页面中检索 link 并让客户下载文件。
在您的清单文件中,您需要添加一个 intent 过滤器:
<activity
android:name="Downloader">
<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="domain.com"
android:scheme="http" />
</intent-filter>
</activity>
然后在 "Download" activity 的 onCreate 中:
public class Download extends Activity {
private String filename;
@Override
protected void onCreate (final Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
setContentView(<your layout file>);
final Intent intent = getIntent ();
final Uri data = intent.getData ();
if (data != null) {
final List<String> pathSegments = data.getPathSegments ();
fileName = pathSegments.get (pathSegments.size () - 1);
}
}
然后在下载按钮的点击处理程序中,您可以使用视图意图来充当 android 中的 link。
button.setOnClickListener (new View.OnClickListener () {
@Override public void onClick (final View v) {
Uri intentUri = Uri.parse("http://domain.com/" + filename);
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(intentUri);
startActivity(intent);
}
});