Skip to main content

意图

意图是Android 四大组件(Activity,Service,content provider,broadcast receiver)的核心

他可以启动应用,启动服务 等操作.

安卓 Intent

# 导包
from airscript.intent import Intent

此Intent 继承自 android.content.Intent

接下来我们将用混编完成意图代码编写

android.content.Intent

详细属性方法请查阅Android Intent

也可以百度Android Intent 相关用法.

案例:发短信

#导包
from android.content import Intent
from ascript.android.system import R

it = Intent(Intent.ACTION_VIEW)
it.putExtra('sms_body', '你好这是短信内容');
it.setType('vnd.android-dir/mms-sms');

# 部分Activity 启动需要一个新的TASK ,通常都固定写这一行代码
it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
R.context.startActivity(it);



案例:抖音直播间跳转

# 通过 房间ID 跳转抖音直播间
# 导包
from android.content import Intent
from ascript.android.system import R
from android.net import Uri

roomid = '6901450157649300232'
uri = Uri.parse("snssdk1128://live?room_id="+roomid);
it = Intent(Intent.ACTION_VIEW,uri)
it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
R.context.startActivity(it);

案例:跳转应用详情


from airscript.intent import Intent
from ascript.android.system import R
from android.net import Uri
from android.provider import Settings

# 根据需求改变包名,即可跳转,跳转后,可点击停止程序等等.
intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS).setData(Uri.fromParts("package", "com.aojoy.airscript", None))
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
R.context.startActivity(intent);

案例:跳转设置界面

from airscript.intent import Intent 
from android.content import ComponentName
from ascript.android.system import R

intent = Intent()
package = "com.android.settings"
activity = "com.android.settings.Settings"
componentName = ComponentName(package, activity)
intent.setComponent(componentName)
intent.setAction("android.intent.action.VIEW");

# 这是固定的启动方法
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
R.context.startActivity(intent);