android - 没有应用程序可以执行此操作来打开 Instagram URL
问题描述
我试图为想要关注的用户打开我的 Instagram 页面。我尝试了一些代码来完成这项工作:
private void followInsta() {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("https://www.instagram.com/motivationalquotes.app"));
try {
intent.setPackage("com.instagram.android");
startActivityForResult(Intent.createChooser(intent, mContext.getResources().getString(R.string.app_name)), 1000);
} catch (Exception e) {
try {
Log.e("FollowInsta1>>>", Log.getStackTraceString(e));
intent.addCategory(Intent.CATEGORY_BROWSABLE);
startActivityForResult(Intent.createChooser(intent, mContext.getResources().getString(R.string.app_name)), 1000);
} catch (Exception ex) {
Log.e("FollowInsta2>>>", Log.getStackTraceString(ex));
}
}
}
我从一个click
事件中调用了它,但它始终打开对话框,并显示一条消息我的应用名称和“没有应用可以执行此操作”
这只发生在三星 Galaxy J8 设备上。但它通常适用于其他设备。如果有人知道要为这些类型的设备尝试什么,请告诉我。我也试过这个来解决我的问题,但没有奏效!
解决方案
试试这个片段:
Uri uri = Uri.parse("http://instagram.com/_u/motivationalquotes.app");
Intent likeIng = new Intent(Intent.ACTION_VIEW, uri);
likeIng.setPackage("com.instagram.android");
try {
startActivity(likeIng);
} catch (ActivityNotFoundException e) {
startActivity(new Intent(Intent.ACTION_VIEW,
Uri.parse("http://instagram.com/motivationalquotes.app")));
}
如果已安装或调用浏览器,这应该会打开应用程序。
推荐阅读
- oracle - PL/SQL 表函数 - 如何返回空结果集?
- java - 尝试从 Spring Boot 读取 json 数据并将其写入 psotgres 数据库
- python - sphinx autobuild - 使用,makefile,扩展
- docker - 带有 splunk 的 Docker 容器监视器
- python - 如何根据每个 id 的条件选择行
- javascript - 使用从 localhost 服务器运行的前端代码发出请求时,Wikidata 查询 CORS 问题
- postgresql - 恢复时重新定位 postgres 转储
- android - 无法使用 Filterable 过滤条码扫描器结果
- git - Rails / Solidus 应用程序的 Git 克隆后,资产管道无法正确加载
- r - 您如何通过将多个参数传递给 BinomCI() 来迭代(在 R 中使用 purrr)