gpt4 book ai didi

javascript - Titanium - 当用户点击 Android 通知时执行操作

转载 作者:行者123 更新时间:2023-11-29 21:58:17 24 4
gpt4 key购买 nike

我有显示 android 通知的代码,当有人点击该通知时,应用程序会出现在前台,如果它之前在后台。但是我想在应用程序出现后另外调用一个javascript函数或运行一个javascript文件。我该怎么做?

app.js

if(!Ti.App.Properties.getBool("displayedNotifications")){
var notifications = ["Apple","Orange","Banana"];

for(var i = 0; i < notifications.length; i++){
var intent = Ti.Android.createIntent({
action: Ti.Android.ACTION_MAIN,
packageName:"com.company.notificationtest",
className:"com.company.notificationtest.NotificationtestActivity",
flags:Ti.Android.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED | Ti.Android.FLAG_ACTIVITY_SINGLE_TOP
});
intent.addCategory(Ti.Android.CATEGORY_LAUNCHER);
intent.putExtra("name",notifications[i]);

Titanium.Android.NotificationManager.notify(i, Titanium.Android.createNotification({
contentTitle: notifications[i],
contentText : notifications[i],
contentIntent: Ti.Android.createPendingIntent({
intent:intent,
type : Ti.Android.PENDING_INTENT_FOR_ACTIVITY
}),
flags : Titanium.Android.ACTION_DEFAULT | Titanium.Android.FLAG_AUTO_CANCEL | Titanium.Android.FLAG_SHOW_LIGHTS
}));
}

Ti.App.Properties.setBool("displayedNotifications",true);
}

tiapp.xml

<?xml version="1.0" encoding="UTF-8"?>
<ti:app xmlns:ti="http://ti.appcelerator.org">
<id>com.company.notificationtest</id>
<name>NotificationTest</name>
<version>1.0</version>
<publisher>not specified</publisher>
<url></url>
<description>not specified</description>
<copyright>not specified</copyright>
<icon>appicon.png</icon>
<fullscreen>false</fullscreen>
<navbar-hidden>false</navbar-hidden>
<analytics>true</analytics>
<guid>91e86075-373b-44e0-9416-66183390e8af</guid>
<property name="ti.ui.defaultunit" type="string">dp</property>
<android xmlns:android="http://schemas.android.com/apk/res/android">
</android>
<modules>
</modules>
<deployment-targets>
<target device="android">true</target>
</deployment-targets>
<sdk-version>3.2.3.GA</sdk-version>
</ti:app>

您还可以在此处以示例应用程序的形式找到代码:https://github.com/VanCoding/TitaniumNotificationTest

最佳答案

您需要在您的 Intent 对象中设置它,例如:

var intent = Ti.Android.createIntent({
action: Ti.Android.ACTION_MAIN,
url: 'activity1.js'
});
intent.addCategory(Ti.Android.CATEGORY_LAUNCHER);
Ti.Android.currentActivity.startActivity(intent);

http://docs.appcelerator.com/titanium/latest/#!/api/Titanium.Android.Intent

编辑:

好的,这是一个使用 className 而不是 url 的工作应用程序的链接:https://github.com/foolprooflabs/AndroidNotificationsCustomActivity

编辑 2:

更新Github代码,移除tiapp.xml中不必要的标签

关于javascript - Titanium - 当用户点击 Android 通知时执行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25266834/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com