意图
意图是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);