当前位置: 动力学知识库 > 问答 > 编程问答 >

android - Activity doesn't start when clicked on the notification

问题描述:

I created a notification setup in my application.when the user clicks the notification an activity Coding is suppose to open.But it isn't.When i checked the phone log(in the console of the android studio) it has some thing like this in it:

10-19 19:18:14.598 888-1437/? W/ActivityManager: Permission Denial: starting Intent { flg=0x1000c000 cmp=com.defcomdevs.invento16/.Coding bnds=[0,874][1080,1060] } from null (pid=-1, uid=10169) not exported from uid 10185

i don't understand what that is?

my code for notification is:

public class AlarmReceiver extends BroadcastReceiver {

static int notifyId=1;

@Override

public void onReceive(Context context, Intent intent) {

//Toast.makeText(context,"Alarm has been set",Toast.LENGTH_SHORT).show();

NotificationCompat.Builder mNotify=new NotificationCompat.Builder(context);

mNotify.setSmallIcon(R.drawable.index);

mNotify.setContentTitle("Coding");

mNotify.setContentText("INVENTO: Coding competition is going to be conducted today.");

Intent resultIntent=new Intent(context,Coding.class); //activity to open up when user clicks the notification

TaskStackBuilder stackBuilder=TaskStackBuilder.create(context);

stackBuilder.addParentStack(Coding.class); //add the to-be-displayed activity to the top of stack

stackBuilder.addNextIntent(resultIntent);

PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0,PendingIntent.FLAG_UPDATE_CURRENT);

mNotify.setContentIntent(resultPendingIntent);

NotificationManager notificationManager=(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);

notificationManager.notify(notifyId, mNotify.build());

Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

Ringtone r = RingtoneManager.getRingtone(context, notification);

r.play();

//note: on click display activity is not working.

}

}

please help!!

My manifest.xml file:

 <?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="com.defcomdevs.invento16" >

<application

android:allowBackup="true"

android:icon="@mipmap/ic_launcher"

android:label="@string/app_name"

android:supportsRtl="true"

android:theme="@style/AppTheme" >

<activity

android:name=".MainActivity"

android:label="@string/app_name"

android:theme="@style/AppTheme.NoActionBar" >

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

<activity

android:name=".AlarmActivity"

android:label="@string/title_activity_alarm"

android:theme="@style/AppTheme.NoActionBar" >

</activity>

<receiver

android:name=".AlarmReceiver"

android:process=":remote" />

<activity

android:name=".Registration"

android:label="@string/title_activity_registration"

android:theme="@style/AppTheme.NoActionBar" >

</activity>

<activity

android:name=".Coding"

android:label="@string/title_activity_coding"

android:theme="@style/AppTheme.NoActionBar" >

</activity>

</application>

网友答案:

Add android:exported="true" to your .Coding activity tag in the manifest.xmlfile. Though have in mind that this allows other applications to start your activity.

分享给朋友:
您可能感兴趣的文章:
随机阅读: