导航:首页 > 操作系统 > androidapp调用另一个app

androidapp调用另一个app

发布时间:2025-05-16 08:58:54

① 如何禁止手机app打开其他app

1、安卓手机:在安卓手机中,打开手机设置,点击密码与安全的选项,点击页面下方系统安全的选项,点击页面下方的网页链接调用服务选项,将网页链接调用服务选项的开关关闭即可。
2、苹果手机:打开苹果手机,在手机设置界面中,点击应用和服务,在应用和服务界面中,点击应用启动管理,在应用启动管理界面中,关闭全部自动管理,在弹出的窗囗中,点击关闭全部即可。

android APP调起另外一个APP并传值

第一种:

第二种:

setClassName内部也是调用的setComponent。

调用方:

被调用方在AndroidManifest的Activity中添加自定义action:

被调用方数据接收:

第一银败种:

调用方通过点击H5网页上按钮

这种方法存在着弊端就是没办法判断手机上是否安装APP时,更适合打开自己APP中Activity。一般建议js与java进行交互调用原生的方法: WebViewJavascriptBridge 使用简单方便,并且避免了一些js脚本注入漏洞。
第二种:隐式调用

被调用方在AndroidManifest的Activity中添加自定义action:

被调用Activity中数据接收:

注意: 这两种方式只适合针对某个页面,都只是在自己应用中跳转第三方应用,并不是真正的唤醒,比如应用A已经在后台存在了,应用B调用以上两种方式后,只是在应用B中重新打开了一个应用A,此时的应用A是相当与存在两个,一前搏基个是在后台单独存在,一个是依存应用B存在,是添加到应用B的栈中的,当点击A页面里面的跳转按钮时才真正调起跳转到A应慧谨用。

③ Android 怎么从一个APP中打开另外一个APP

/ 通过包名获取要跳转的app,创建intent对象
Intent intent = getPackageManager().getLaunchIntentForPackage("com.example.yourapp");
if (intent != null) {
// 这里跟Activity传递参数一样的嘛,不要担心怎么传递参数,还有接收参数也是跟Activity和Activity传参数一样
intent.putExtra("name", "Liu xiang");
intent.putExtra("birthday", "1983-7-13");
startActivity(intent);
} else {
// 未安装应用
Toast.makeText(getApplicationContext(), "哟,赶紧下载安装这个APP吧", Toast.LENGTH_LONG).show();
}

④ 如何在一个android工程中调用另一个android工程的代码和资源啊

现在已经有了一个Android工程A。我们想扩展A的功能,但是不想在A的基础上做开发,于是新建了另外一个Android工程B,想在B中引用A。

1. 把工程A做成纯Jar包,这样其他的工程就可以直接引用了。

但是,如果在工程A中用了R.java中的引用,则无法打成jar包了。原因是R.java是自动生成的,是动态的,每次编译都是不相同的。如果一定要做成jar包,就不能使用自动生成的R文件,用到资源时候就要写代码去获取。

有时会报错:Conversion to Dalvik format failed with error 1

可能是多层包文件重复导入,冲突。。。

这时可以试试方法2

 

2.将工程A做成android library project。

设置工程A,右键->Properties->Android,将Is library项选中,然后Apply。设置工程B,右键->Properties->Android,在Library中,点击Add按钮,将A工程加入,然后Apply。此时在B中就引入了A中的资源和代码,这些资源和代码都可以直接调用。需要注意的是,因为A已经不再是一个完整的Android应用,而是一个类库工程,所以有一些内容还需要在B中配置一下。比如A中有lib库引用,则B中也要加入该lib库;比如A中的AndroidManifest.xml文件的内容,在B的AndroidManifest.xml文件中也要相应加上。。。
如果不需要引用A工程的资源文件,同样只需得到jar文件,
设置工程A,右键->Properties->Android,将Is library项选中,然后Apply。在A工程的bin目录下能得到一个jar文件,可以到B工程中的libs目录下直接引用。
 
如果能用jar当然最好,但是jar文件不能把res目录下的资源打包进去,所以才出现lib工程。

创建和使用Android library工程
 

摘要: 创建library供多个工程共享代码、资源是非常常见的需求,网上这种资料非常少,基本上都是讲创建java工程,然后export,这种方式缺点非常多,大家可以自己google一下。本文着重介绍如何创建Android library,并且在 ...
创建library供多个工程共享代码、资源是非常常见的需求,网上这种资料非常少,基本上都是讲创建java工程,然后export,这种方式缺点非常多,大家可以自己google一下。
本文着重介绍如何创建Android library,并且在工程中使用此library提供的资源,具体步骤如下:
1. 创建一个Android工程,命名为MyLib
2. 进入工程设置选中Is Library

3. 创建另一个Android工程,命名为MyProj
4. 进入工程设置,添加MyLib

5. 在MyProj的AndroidManifest.xml中加入对library中activity的引用
<activity android:name="net.devdiv.mylib.MyLib" />
6. 由于编译后library中的资源和引用它的project资源是合并在一起的,为了避免重名问题,需要对library中资源进行重命名
1). 把main.xml改为mylib.xml,同时修改MyLib.java代码setContentView(R.layout.mylib);
2). strings.xml修改为
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="mylibhello">String fetched from lib!</string>
    <string name="mylib_app_name">MyLib</string>
</resources>
7. 在MyProj中引用MyLib的资源
package net.devdiv.myproj;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import net.devdiv.mylib.*;
import android.content.Intent;

public class MyProj extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        TextView tv = (TextView)findViewById(R.id.myprojtext);
       tv.setText(R.string.mylibhello);
        
        Intent it = new Intent(this, MyLib.class);
        startActivity(it);
    }
}

⑤ android怎么把其他app的内容分享到自己的app里

很多时候我们的应用在使用微信分享内容之后,希望其他用户点击该分享内容能够跳转到我们的App,以实现闭环,这样的分享才是最有价值的。这种需求涉及到不同应用之间的交互,虽然微信提供了分享SDK,但仍然有不少限制,现在总结两种在Android平台上初步认为可行的方案:

1.分享网页,从分享的网页跳转回原App。

2.分享WXAppExtendObject类型的数据,且只能分享给好友,好友从聊天列表点击收到的分享内容可以直接跳转第三方App(前提是好友手机上已经安装了该App)。下面来详细说明两个方案,由于是在项目中实测的,为了隐私及行文方便,假设我们的应用的名字为MyApp,效果截图也就不再展示。

方案一:

从WebView(该WebView从属于另一个App,并非我们自己的App)跳转到MyApp的某个界面(这里以跳转到MyApp的Acticity A为例)。具体的实现逻辑如下:

(1)该WebView显示的网页内容只是一个超链接,自定义了一个scheme=myapp://,后边可以附加一些参数,如果需要从网页向App传值的话。

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>This is title</title>

</head>

<body>

<a href=’myapp://id=909624′>Jump to MyApp</a>

</body>

</html>

该网页在WebView打开后就是一个简单的超链接,截图不再附。

(2)MyApp中的Activity A需要配置特定的infliter,如下:

<activity

<intent-filter>

<data android:scheme="myapp" />

<action android:name="android.intent.action.VIEW" />

<category android:name="android.intent.category.DEFAULT" />

<category android:name="android.intent.category.BROWSABLE"/>

</intent-filter>

</activity>

(3)当在WebView上点击上述自定义的超链接时就可以打开MyApp的A界面,所传递的参数也可以在所跳转到的Activity中获取,方法如下:

getIntent().getScheme();//获得Scheme名称

getIntent().getDataString();//获得Uri全部路径,根据自定义的格式解析字符串即可获取我们上面附加的参数。可行的实施方案:

MyApp中调用微信分享分享网页内容,只需要在网页中嵌入跟Android客户端约定好的超链接协议scheme,那么点击时就可以跳转到MyApp。

问题1:如果用户安装了MyApp,就可以点击网页跳转,如果没有安装MyApp的话,WebView就会提示找不到该页面。制作网页时可以在网页中做检测,没安装MyApp的话,页面就重定向到应用的下载页面。

问题2:在普通App的WebView中和浏览器中上述机制是可以的,但是在微信的WebView是不可以点击直接跳转我们的应用的,可能是微信做了某些过滤,且仅仅支持跟微信有深度合作的应用的跳转,如大众点评是可以的。针对这种情况,我们可以引导用户使用浏览器打开所分享的网页,然后点击就可以跳转应用了。方案二:

使用微信SDK分享WXAppExtendObject数据给好友,好友点击跳转MyApp的某个页面(需要在分享时传递构造跳转Intent的参数)。

1.该类型的分享(具体请参考微信分享SDK)可以带几个参数,参数中必须附带一些构造跳转Intent的数据。

2.好友点击分享的内容,回调IWXAPIEventHandler接口的类的onReq方法,具体为

ConstantsAPI.COMMAND_SHOWMESSAGE_FROM_WX:这种情况才会调用,此时可以取出分享时附带在参数中的一些数据,构造一个跳转Intent,调用startActivity(intent) 来打开MyApp。

由于是项目实测,这种实现方式的截图也就不传了。

问题1:该分享方式只能分享给好友,不能分享到朋友圈。

问题2:如果好友没安装MyApp,点击微信中好友分享过来的消息后无反应,无法提醒“未安装MyApp,请下载”,因为这些逻辑要实现的话本身就是在MyApp里面写的,原本没装的话根本无法检测。

问题3:WXAppExtendObject类型的分享,数据有大小限制,

extInfo(String)限制2KB;

fileData(byte[])供第三方使用的文件二进制数据,最大10M;

filePath:(String)Local directory of the file provided for applications,本身长度最大10KB,文件大小同上,不超过10M。以上就是Android平台好友点击微信分享的内容后跳转来源App的两种实现方案,各有优点和局限性,请根据自身业务需求选择合适的分享方式,由于未能附截图说明,如有哪里表述不清楚的,欢迎留言讨论。

阅读全文

与androidapp调用另一个app相关的资料

热点内容
收支预算法怎么做 浏览:875
模板如何上传到服务器 浏览:372
如何同步安卓信息到新ipad 浏览:364
腾讯云轻量服务器流量警告 浏览:503
u盘备份linux 浏览:120
高压缩比活塞 浏览:92
压缩弹簧标准件 浏览:25
linux统计个数命令 浏览:292
cad转pdf居中 浏览:8
编译型语言处理过程 浏览:325
手机创文件夹复制到电脑 浏览:984
有什么直播APP可以看那种 浏览:41
程序员叫什么人 浏览:378
python画地图等高线 浏览:751
epic永劫无间是什么服务器 浏览:444
网游服务器下载地址 浏览:107
macphpfreetype安装 浏览:644
设计道pdf 浏览:615
单片机kill4软件下载收费吗 浏览:846
苹果手机怎么连接RMS服务器 浏览:603