Phonegap应用程序午餐问题
它是清单文件:
<activity
android:name=".MainActivity"
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" />
<data
android:scheme="cedemo" android:host="com.example.shcema.MainActivity"/>
</intent-filter>
</activity>
这是我的主要活动:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}}
但是当我点击&#34;启动应用程序&#34;链接然后我得到这个警报。
请帮助我任何人。答案 0 :(得分:0)
您错过了intent-filter
中的CATEGORY_BROWSABLE。
引用:
可以从浏览器安全调用的活动必须支持此类别。例如,如果用户正在查看网页或电子邮件并单击文本中的链接,则生成的Intent执行该链接将需要BROWSABLE类别,以便只有支持此类别的活动才会被视为可能的操作。通过支持这一类别,您承诺通过调用任何匹配的Intent,没有任何损害(无需用户干预)。
所以你的intent-filter
必须像:
<intent-filter>
<data android:scheme="cedemo" android:host="com.example.shcema.MainActivity"/>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
答案 1 :(得分:0)
这不起作用。因为如何 Android可以知道我在这个自定义URI调用上启动了哪个应用程序?
首先,你必须让知识产权知道 自定义URI 存在,它可以接收此类调用,然后只要该自定义URI是由本机或混合应用程序调用,操作系统会自动将其转发到已注册的应用程序,即能够接收此类呼叫。
阅读此Android文档教程:
允许其他应用启动您的活动 http://developer.android.com/training/basics/intents/filters.html
以下是一个应用程序如何调用其他应用程序的示例。 Launch an application from another application on Android
这是自定义插件,可以更轻松地从 Cordova / phonegap 应用打开其他应用。