Java 如何在android应用程序中定制解析推送通知以发送uri?
我想在我的android应用程序中使用解析推送通知功能。 我将解析推送通知代码放在第一个活动(splash活动)中 这是我的应用程序:Java 如何在android应用程序中定制解析推送通知以发送uri?,java,android,notifications,push,Java,Android,Notifications,Push,我想在我的android应用程序中使用解析推送通知功能。 我将解析推送通知代码放在第一个活动(splash活动)中 这是我的应用程序: import com.parse.Parse; import com.parse.ParseACL; import com.parse.ParseUser; import android.app.Application; public class ParseApplication extends Application { @Override publi
import com.parse.Parse;
import com.parse.ParseACL;
import com.parse.ParseUser;
import android.app.Application;
public class ParseApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// Add your initialization code here
Parse.initialize(this, " id", "id");
ParseUser.enableAutomaticUser();
ParseACL defaultACL = new ParseACL();
// If you would like all objects to be private by default, remove this line.
defaultACL.setPublicReadAccess(true);
ParseACL.setDefaultACL(defaultACL, true);
}
}
这是我的清单:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE" />
<application
android:name="ParseApplication"
android:icon="@drawable/icon"
android:label="@string/app_name" >
<activity
android:name=".SplashActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".HomeActivity" ></activity>
<service android:name="com.parse.PushService" />
<receiver android:name="com.parse.ParseBroadcastReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>
</receiver>
</application>
在这里,我可以很容易地获得我的标题&我的提醒,但问题是,当我单击它并将其转到我的家庭活动时,它根本不支持我的uri。
我有什么问题?我想打开我的uri。您需要在uri字段中添加活动的名称。
例如: .喷溅活动 就我而言,我们有以下清单:
...
<activity
android:name=".presenter.FooActivity"
android:label="@string/title_activity_foo"
android:parentActivityName=".presenter.fooParent">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="myapp" android:host="host" android:path="/path" />
</intent-filter>
</activity>
...
如果你想打开,你可能需要一些代码来接收你活动的意图,并创建一个新的指向URL的代码。为此,您需要为json添加一个自定义属性,以传递所需的url。比如:
{"title" : "my title",
"alert" : " my alert text",
"uri" :"myapp://host/path",
"customurl":"http://www.google.com"
}
以及守则:
Bundle params = intent.getExtras();
if (params!=null)
{
String param = params.getString("com.parse.Data");
String url = funcThatGetsUrlFromData(param);
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
您需要在URI字段中添加活动的名称。
例如: .喷溅活动 就我而言,我们有以下清单:
...
<activity
android:name=".presenter.FooActivity"
android:label="@string/title_activity_foo"
android:parentActivityName=".presenter.fooParent">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="myapp" android:host="host" android:path="/path" />
</intent-filter>
</activity>
...
如果你想打开,你可能需要一些代码来接收你活动的意图,并创建一个新的指向URL的代码。为此,您需要为json添加一个自定义属性,以传递所需的url。比如:
{"title" : "my title",
"alert" : " my alert text",
"uri" :"myapp://host/path",
"customurl":"http://www.google.com"
}
以及守则:
Bundle params = intent.getExtras();
if (params!=null)
{
String param = params.getString("com.parse.Data");
String url = funcThatGetsUrlFromData(param);
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
您要将通知推送到谁?只有一个用户,还是所有用户?当然,对于所有用户,您希望将通知推送到谁?只有一个用户,还是所有用户?当然是所有用户