笛里谁知壮士心,沙头空照征人骨。这篇文章主要讲述android静态intent相关的知识,希望能为你提供帮助。
1.manifest中注册在Activity中注册,如下:
注:此为必须存在的
<
intent-filter>
<
action android:name="action.action.action1"/>
<
action android:name="action.action.action2"/>
<
action android:name="action.action.action3"/>
<
action android:name="action.action.action4"/>
<
action android:name="android.intent.action.MAIN" />
<
category android:name="android.intent.category.DEFAULT"/>
<
category android:name="android.intent.category.LAUNCHER" />
<
/intent-filter>
2.调用
Intent intent = new Intent(action);
context.startActivity(intent);
也可以使用命令adb shell am start -a action.action.action1测试
3.接收3.1 Android获取action
Intent receiverIntent = getIntent();
String action =receiverIntent.getAction();
【android静态intent】或者
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
intentResult=intent.getStringExtra(ReceiverTag);
if(intentResult==null || intentResult == "")
{
intentResult=defaultIntentResult;
}
Log.d(Tag,"Intent result:"+intentResult);
}
3.2 Unity获取action3.2.1 获取Activity
public static AndroidjavaObject GetActivity()
{
AndroidJavaClass jc = new AndroidJavaClass(unityPlayerClass);
if (jc == null)
{
Debug.LogErrorFormat("Failed to get Unity Player class, {0}", unityPlayerClass);
return null;
}
AndroidJavaObject activity = jc.GetStatic<
AndroidJavaObject>
("currentActivity");
if (activity == null)
{
Debug.LogError("Failed to obtain Android Activity from Unity Player class.");
return null;
}
return activity;
}
3.2.2 获取intent
private AndroidJavaObject GetIntent()
{
AndroidJavaObject activity = GetActivity();
if (activity != null)
{
return activity.Call<
AndroidJavaObject>
("getIntent");
}return null;
}
3.2.3 获取action
public string GetIntentMessage()
{
string result = "";
AndroidJavaObject intent = GetIntent();
if (intent == null)
{
Debug.Log("Get null intent");
return result;
}try
{
result = intent.Call<
string>
("getAction");
Debug.Log("Get action result:" + result);
}
catch(Exception ex)
{
Debug.Log("Exception while getting action:" + ex.ToString());
}return result;
}
推荐阅读
- 安卓其他Windows下的C++网络请求
- android开发ExpandableListView展开分组时不滚动不顶上去的解决方法
- web APP 开发之踩坑手记
- SciPy如何计算积分(详细用法看这里————)
- SciPy输入和输出
- SciPy使用FFTpack实现傅立叶变换
- Python SciPy教程介绍
- SciPy所有常数解释
- Pandas和NumPy之间有什么区别()